/**
* 根据一个数组中的元素删除另一个数组中的元素
* @param $targetArr
* @param $dependArr
*/
function removeValueByArray(&$targetArr, $dependArr)
{
foreach ($dependArr as $row) {
$keysArr = array_keys($targetArr, $row);
$pos = isset($keysArr[0]) ? $keysArr[0] : false;
if (false !== $pos) {
array_splice($targetArr, $pos, 1);
}
}
}
$arr1 = [1,2,3,4,5];
$arr2 = [2,4,6,7,10];
removeValueByArray($arr1, $arr2);
var_dump($arr1);
适用于索引数组,效果和array_diff一样。只是不用接收返回值。