是否可以检查数组是否包含字符串中的至少一个值?字符串是输出列表(见下文)。
这是我的数组,我们称之为$data
Array ( [0] => finance-accounting-banking [1] => fixed-term [2] => human-resources [3] => international [4] => logistics-supply-chain [5] => management [6] => marketing )
这是我的输出列表,我们称之为$types
。
fixed-term|marketing
我认为这可能有效,但没有运气......
if (in_array($types, $data))
答案 0 :(得分:2)
如果您的$types
变量的值由|
分隔,则以下代码不会使用preg:
$data = array ( 0 => 'finance-accounting-banking', 1 => 'fixed-term', 2 => 'human-resources', 3 => 'international', 4 => 'logistics-supply-chain', 5 => 'management', 6 => 'marketing' );
$types = 'fixed-term|marketing';
if(count(array_intersect($data, explode('|', $types))) > 0){
echo 'found';
}else{
echo 'not found';
}
答案 1 :(得分:1)
如果$types
完全采用您提到的格式,则只需使用preg_grep()
函数即可:
$atLeastOne = count(preg_grep('/' . $types . '/', $input)) != 0;
答案 2 :(得分:0)
$pieces = explode('|',$types);
foreach ($pieces as $element) {
if ( in_array($element,$data) ) {
echo "found";
}
}