【发布时间】:2021-05-26 11:56:19
【问题描述】:
不确定如何使用删除的foreach 键插入新数组
下面的函数
function array_delete_insert($delArrKey, $array1) {
//deletes from
if(is_array($delArrKey)) {
foreach ($delArrKey as $del_key => $del_value) {
foreach ($array1 as $key => $value){
if ($value == $del_value) {
unset($array1[$key]);
}
}
}
} else {
foreach ($array1 as $key => $value){
if ($value == $delArrKey) {
unset($array1[$key]);
}
}
}
return array_values($array1);
// returns new array with all the deleted items
$array2 = //all deleted elements array
return array_values($array2);
}
//Calling the function by
$array1 = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');
$delArrKey = array('orange', 'apple');
$new_arr = array_delete_insert($delArrKey, $array1);
【问题讨论】:
-
我想你只是在找
array_values(array_diff($array1, is_array($delArrKey) ? $delArrKey, array($delArrKey))) -
这只返回未删除的元素...目标是返回已删除的元素
-
也许您可以为您拥有的输入数据提供预期的输出,这样可以更轻松地确定您想要实现的目标?其他示例数据也会有所帮助。