我有两个字符串:
$source = "AA|BB|CC|DD";
$target = "AA|CC|DD|EE|BB";
两者中的分隔符为|
我必须弄清楚源的元素是否存在于目标中。 (以任何顺序)
如果源中的元素存在于target中,则程序应返回true
,否则返回。
为此,我将$source
和$target
存储在自己的数组中并使用array_intersect
$source_arr = explode("|",$source);
$target_arr = explode("|",$target);
$exists = (count($source_arr) == count(array_intersect($source_arr, $target_arr)));
if ($exists == 1) {
echo "True";
else {
echo "False";
}
该程序始终返回false
。
谁能告诉我哪里出错了?
答案 0 :(得分:0)
尝试
$count = 0;
foreach($sourcearray as $item){
if(in_array($item, $targetarray))
$count++;
}
if (count($sourcearray) == $count)
echo "true";
echo "false";