ある配列のすべての値が別の配列に存在するかどうかを確認できる PHP 関数があるかどうか疑問に思っていました。
たとえば、私はこれを持っています:
$a = array ('v1', 'v3', 'v4');
$b = array ('v1', 'v2', 'v3', 'v4', 'v5');
$a
と比較したい$b
。また、 のすべての値$a
も存在する$b
ため、 を返す必要がありtrue
ます。
PHPでこれを行う効率的な方法はありますか?
<?php
$a = array('v1', 'v3', 'v4');
$b = array('v1', 'v2', 'v3', 'v4', 'v5');
function is_array_in_array($a, $b) {
return count($a) === count(array_intersect($a, $b));
}
$test = is_array_in_array($a, $b);
var_dump($test);
$a = array ('v1', 'v3', 'v4');
$b = array ('v1', 'v2', 'v3', 'v4', 'v5');
function compare($first,$second) {
return count(array_diff($first, $second))==0;
}
compare($a,$b); // true
これは、次を使用して簡単に実行できます。
$result = $a === array_intersect($a, $b);