微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP 如何从数组中删除元素并通过键添加到另一个数组?

如何解决PHP 如何从数组中删除元素并通过键添加到另一个数组?

不确定如何使用删除到新数组中的 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);
  }

不确定您是否想要新的已删除项目数组,但您可以将该变量添加到返回中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。