array_search()
配列内で特定の値を検索するために使用します。
$a = array(0 => '1,3');
$b = array(
0 => '1,2,4',
1 => '1,2',
2 => '4,3',
3 => '2,4',
4 => '1,3'
);
foreach ($a as $val) {
if ($key = array_search($val, $b)) {
echo "'$val' is matched in '$key' index";
break;
}
}
出力:
'1,3' is matched in '4' index
次のこともできます。
$match = array();
foreach ($a as $val) {
if (array_search($val, $b)) {
$match[] = $val;
}
}
print_r($match);
出力:
Array
(
[0] => 1,3
)
アップデート:
OPが述べたように、この目的のためにarray_intersect()
関数も使用します。
$a = array(0 => '1,3');
$b = array(
0 => '1,2,4',
1 => '1,2',
2 => '4,3',
3 => '2,4',
4 => '1,3'
);
print_r(array_intersect($a, $b));
出力:
Array
(
[0] => 1,3
)