php arrays - in_array and/or array_intersect
It's another day for being thick—so sorry. :) Anyhow, I have 2 arrays that I want to manipulate; if a value from the first array exists in the second array do one thing and then do something else with the remaining values of the second array.
e.g.
$array1 = array('1','2','3','4'); - the needle
$array2 = array('1','3','5','7'); - the haystack
if(in_array($array1,$array2): 开发者_运维技巧echo 'the needle'; else: echo'the haystack LESS the needle '; endif;
But for some reason the in_array
doesn't work for me. Help please.
Do it like this:
<?php
$array1 = array('1','2','3','4');
$array2 = array('1','3','5','7');
//case 1:
print_r(array_intersect($array1, $array2));
//case 2:
print_r(array_diff($array2, $array1));
?>
This outputs the values of array (what you wanted earlier before question was changed):
Array
(
[0] => 1
[2] => 3
)
Array
(
[2] => 5
[3] => 7
)
And, if you want to use if-else
, do it like this:
<?php
$array1 = array('1','2','3','4');
$array2 = array('1','3','5','7');
$intesect = array_intersect($array1, $array2);
if(count($intesect))
{
echo 'the needle';
print_r($intesect);
}
else
{
echo'the haystack LESS the needle ';
print_r(array_diff($array2, $array1));
}
?>
This outputs:
the needle
Array
(
[0] => 1
[2] => 3
)
精彩评论