更新时间:2022-11-17 14:07:12
尝试编写以下内容
while($rss = mysql_fetch_assoc ($result2)){$array1[]=$rss['name'];}
这样数组中的值将是字符串并且可以很容易地进行比较.我不知道 array_intersect 如何处理嵌套数组,但它可以很好地处理字符串.
i have a movie table and i want to compare the common movies of two users.
$array1=array(); $array2=array(); $query2="select name from movie where user_id='2'"; $result2=mysql_query($query2) or die(mysql_error()); while($rss = mysql_fetch_assoc ($result2)) { $array1[]=$rss; } print_r($array1);
This will print
Array ( [0] => Array ( [name] => Snatch ) [1] => Array ( [name] => The Social Network Movie )
[2] => Array ( [name] => Death Note ) [3] => Array ( [name] => Titanic )
[4] => Array ( [name] => Once Upon a Time in the West ) )
And for second user
$query3="select name from movie where user_id=1"; $result3= mysql_query($query3) or die(mysql_error()); while($rss1= mysql_fetch_assoc($result3)) { $array2[]=$rss1; } print_r($array2);
This will print
Array ( [0] => Array ( [name] => The Lord of the Rings Trilogy ) [1] => Array ( [name] => Snatch )
[2] => Array ( [name] => The Social Network Movie ) [3] => Array ( [name] => Scarface )
[4] => Array ( [name] => Once Upon a Time in the West ) [5] => Array ( [name] => Legend of the Guardians: The Owls of Ga'Hoole ) [6] => Array ( [name] => Once Upon a Time in America )
[7] => Array ( [name] => Butch Cassidy and the Sundance Kid ) [8] => Array ( [name] => Fracture )
[9] => Array ( [name] => Invictus ) [10] => Array ( [name] => Pride and Glory ) [11] => Array ( [name] => Casablanca ) )
When i compare these two arrays it gives me the first array.
$match= array_intersect($array1, $array2); print_r($match);
The result will is
Array ( [0] => Array ( [name] => Snatch ) [1] => Array ( [name] => The Social Network Movie )
[2] => Array ( [name] => Death Note ) [3] => Array ( [name] => Titanic )
[4] => Array ( [name] => Once Upon a Time in the West ) )
But the Common movies are: Snatch , The social network movie , once upon a time in the west
Try writing the following instead
while($rss = mysql_fetch_assoc ($result2))
{
$array1[]=$rss['name'];
}
That way the values in the arrays will be strings and can be compared easily. I don't know of the top of my head how array_intersect handles nested arrays but it works fine with strings.