删除子阵列中的键

2No*_*ood 4 php arrays

我有一个像这样的多阵列:

 array(2) {
      [0]=>
      array(8) {
        [0]=>
        string(1) "3"
        ["Id"]=>
        string(1) "3"
        [1]=>
        string(8) "Portugal"
        ["Country"]=>
        string(8) "Portugal"
        [2]=>
        string(8) "sometext"
        ["Type"]=>
        string(8) "sometext"
        [3]=>
        string(1) "0"
        ["xptoabcdef"]=>
        string(1) "0"
      }
      [1]=>
      array(8) {
        [0]=>
        string(1) "4"
        ["Id"]=>
        string(1) "4"
        [1]=>
        string(8) "Portugal"
        ["Country"]=>
        string(8) "Portugal"
        [2]=>
        string(8) "sometext"
        ["Type"]=>
        string(8) "sometext"
        [3]=>
        string(2) "22"
        ["xptoabcdef"]=>
        string(2) "22"
      }
Run Code Online (Sandbox Code Playgroud)

如何以最简单的方式从数组中删除"Country"列?

Gla*_*vić 8

尝试一下 array_map()

$new_array = array_map(function($v) {
    unset($v['Country']);
    return $v;
}, $old_array);
Run Code Online (Sandbox Code Playgroud)

演示.


Ama*_*ali 5

您可以使用array_map()回调函数来实现这一点:

$array = array_map(function($elem) {
   unset($elem['Country']); 
   return $elem;
}, $array);
Run Code Online (Sandbox Code Playgroud)

或者使用foreach循环并通过引用传递值,如下所示:

foreach ($array as $key => & $value) {
    unset($value['Country']);
}
Run Code Online (Sandbox Code Playgroud)

演示!