簡體   English   中英

PHP 如何從數組中刪除元素並按鍵添加到另一個數組?

[英]PHP How to remove elements from an array and add to another array by key?

不確定如何使用刪除的foreach鍵插入新數組

Function 下面

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);
  }

不確定您是否想要新的已刪除項目數組,但您可以將該變量添加到返回中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM