开发者

php arrays - in_array and/or array_intersect

开发者 https://www.devze.com 2023-01-15 07:18 出处:网络
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 el

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
)
0

精彩评论

暂无评论...
验证码 换一张
取 消