这是厚厚的另一天 - 很抱歉。 :)无论如何,我有2个我想操纵的数组;如果第二个数组中存在第一个数组的值,则执行一项操作,然后使用第二个数组的剩余值执行其他操作。
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;
但由于某些原因,in_array
对我不起作用。请帮助。
答案 0 :(得分:3)
这样做:
<?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));
?>
这会输出数组的值(问题更改之前你想要的):
Array
(
[0] => 1
[2] => 3
)
Array
(
[2] => 5
[3] => 7
)
并且,如果您想使用if-else
,请执行以下操作:
<?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));
}
?>
输出:
the needle
Array
(
[0] => 1
[2] => 3
)