【问题标题】:unset in multidimensional array [duplicate]在多维数组中未设置 [重复]
【发布时间】:2019-10-01 21:05:09
【问题描述】:

这是我的数组:

 array(
  [0] => Array (    
      [field_type] => title 
       [_id] => 4d143e6 ) 
  [1] => Array ( 
      [field_type] => title 
      [_id] => 89ff3a3 ) 
   );

如何从这个数组中删除 _id 键..请帮助

【问题讨论】:

标签: php multidimensional-array foreach


【解决方案1】:
<?php

$arr = [
   [
      'field_type' => 'Title',
      '_id' => 1
   ],
   [
      'field_type' => 'Title',
      '_id' => 2
   ]
];

// Pass by reference to allow array mutation
foreach($arr as &$a)
{
   unset($a['_id']);
}

print_r($arr);

【讨论】:

  • 谢谢你的作品完美..通常,“&”没有放置?它实际上代表什么?
  • 当您对数组执行foreach 时,会生成数组的副本,因此循环内对数组的任何更改都不会反映在原始数组中。那是使用传递引用 (php.net/manual/en/language.references.pass.php),所以实际的数组在 foreach 调用中使用,以便可以对其进行修改。
  • @Chris White :在通过引用更改原始变量时,我们削减了性能成本而不是使用新副本,因此这是更好的做法,尤其是对于大规模应用程序
猜你喜欢
  • 2022-01-08
  • 2021-01-25
  • 1970-01-01
  • 2015-02-17
  • 2014-02-19
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多