PHP如何从数组中删除元素并通过键添加到另一个数组?
不确定如何使用删除的PHP如何从数组中删除元素并通过键添加到另一个数组?,php,arrays,foreach,Php,Arrays,Foreach,不确定如何使用删除的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){
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\u 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);
}
不确定您是否需要新的已删除项目数组,但您可以将该变量添加到返回中。我认为您只是在查找
array\u值(array\u diff($array1,is\u array($delArrKey)?$delArrKey,array($delArrKey))
这只返回未删除的元素。。。我们的目标是返回已删除的元素。您可以为您拥有的输入数据提供预期的输出,这将使您更容易准确地确定要实现的目标?其他样本数据也会有所帮助。