You could grab all of the URLs which are present in the array from the database. Rather than querying the database for every URL you could do a big WHERE / OR statement, such as
$urls = array( 'a url', 'another url', 'etc' );
$qry = 'SELECT url FROM table WHERE url = ' . implode( ' OR url = ', $urls );
while( $row = fetch( $qry ))
{
$matches[] = $row['url'];
}
$nomatches = array_diff( $urls, $matches );
Then when you have the fetched URL's from the database in a second array, do an array_diff() on the two arrays to get an array containing those URLs not in the database.
What exactly are you trying to do? This might be a long way around 🙂