我有两个变量作为CSV字符串。 例如:
$csva = "1,4,7,10,39,12";
$csvb = "4,1,12";
我想搜索$csvb
中是否存在$csva
中的所有元素。
有一个简单的功能吗?
注意:我知道我们可以通过循环来比较每个元素。但我想知道是否有任何PHP功能来执行此操作。
有什么想法吗?
答案 0 :(得分:2)
function csv_contains( $haystack, $needle ){
return ! count( array_diff(
explode(',',$needle ),
explode(',',$haystack)
));
}
var_dump( csv_contains( "1,4,7,10,39,12", "4,1,12") ); //true
var_dump( csv_contains( "1,4,7,10,39,12", "4,1,12,999") ); // false
答案 1 :(得分:0)
不,你能得到的最接近的是:
if(count(array_intersect(explode(',', $csva), explode(',', $csvb))) == count(explode(',', $csvb))){
echo 'All items there';
}