问题描述
不确定如何使用删除到新数组中的 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_push($newArray,$delItem) 然后返回这个。
例如:
$array1 = array('apple','orange','strawberry','blueberry','kiwi');
$delArrKey = array('orange','apple');
$new_arr = array_delete_insert($delArrKey,$array1);
function array_delete_insert($delArrKey,$array1) {
$array2 = [];
//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]);
array_push($array2,$value); //if item is deleted add to new array
}
}
}
} else {
foreach ($array1 as $key => $value){
if ($value == $delArrKey) {
unset($array1[$key]);
}
}
}
return array_values($array1);
}
不确定您是否想要新的已删除项目数组,但您可以将该变量添加到返回中。