我正在检查多维数组中子数组中的某些元素是否不等于某个值,并使用多维数组中的该值取消设置数组。我构建了一个函数,以便我可以轻松地实现它,但是它似乎不起作用。
function multi_unset($array, $unset) {
foreach($array as $key=>$value) {
$arrayU = $array[$key];
$check = array();
for($i = 0; $i < count($unset); $i++) { // produces $array[$key][0, 2, 3]
array_push($check, $arrayU[$unset[$i]]);
}
if(in_array("-", $check)) {
unset($array[$key]);
}
}
return $array;
}
$arr = array(array("-", "test", "test", "test"), array("test", "test", "test", "test"));
$unset = array(0, 2, 3); // keys in individual arrays to check
multi_unset($arr, $unset);
print_r($arr); // Should output without $arr[0]
在这种情况下,我正在检查每个子数组中是否有一个“-”值,并从多数组中取消设置数组。我只检查子数组 (0, 2, 3) 中的特定键,但是它输出一个数组而没有任何更改。我想我一定有一些范围错误,并试图在任何可能的地方使用“全局”,但这似乎并没有解决它。