我需要你们的帮助来解决这个小代码。我们的目的是从$remove_str
中移除$list_str
内的任何数字。正如您所看到的,我已经尝试通过将两个字符串转换为数组来解决问题,并简单地遍历列表数组,搜索remove数组中的值,如果匹配则将其删除。但是,结果不过是我的预期。我现在已经玩了一段时间了,但是我的头脑旋转得太多了,无法看到解决方案。
<?php
$remove_str = '5,6,8,56,195';
$list_str = '1,3,6,9,34,150,195,213';
$remove_arr = explode(',', $remove_str);
$list_arr = explode(',', $list_str);
foreach($list_arr as $value){
$position = array_search($value, $remove_arr);
if($position !== false){
unset($list_arr[$position]);
} else {
continue;
}
}
$result = implode(',', $list_arr);
echo $result;
?>
结果:
1,6,9,150,195,213
预期结果:
1,3,9,34,150,213
答案 0 :(得分:5)
您可以使用array_diff,
array_diff($list_arr, $remove_arr);