取消设置数组中的元素

凯蒂·哈德森(Katie Hudson)

我正在尝试从数组中删除键/值对,但它似乎不起作用。基本上,我进行了一个API调用,它返回了JSON。就这样我

$tempArray = json_decode($projects, true);

如果我输出$ tempArray我会看到类似的东西

array:2 [
  0 => array:9 [
    "id" => 4
    "name" => "Some Project Name"
    "value" => "234"
    "user_id" => "1"
    "client_id" => "97"
    "contact" => "Jane Berry"
  ]
  1 => array:9 [
    "id" => 3
    "name" => "Another Project Name"
    "value" => "6"
    "user_id" => "1"
    "client_id" => "97"
    "contact" => "John Doe"
  ]
]

我本质上需要删除值元素,所以我这样做

unset($tempArray['value']);

如果在取消设置后输出$ tempArray,则显示的内容与以前完全相同,其中有value元素和value。

我需要怎么做才能将其从阵列中完全删除?

谢谢

丹尼尔·道伯斯(Daniel Doubts)

unset不会递归查看子数组以删除key value仅当您具有第一级的键时,value才会删除该键在您的数组中,第一级键是:0和1。因此,value要从所有子数组中删除,您必须将所有项从数组及其中抛出unset您可以使用简单的方法来完成此操作foreach

foreach($tempArray as $key => $data) { 
   unset($data['value']);
   $tempArray[$key] = $data; //Overwrite old data with new with value unset.
}

现在,您将不再需要value子数组项中的键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章