CSV搜索CSV - php

时间:2012-06-20 17:06:26

标签: php search csv

我有两个变量作为CSV字符串。 例如:

 $csva = "1,4,7,10,39,12";
 $csvb = "4,1,12";

我想搜索$csvb中是否存在$csva中的所有元素。

有一个简单的功能吗?

注意:我知道我们可以通过循环来比较每个元素。但我想知道是否有任何PHP功能来执行此操作。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

http://codepad.org/nA2P6FCH

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';
}