PHP数组合并,移除[u]

PHP array merge, remove [u]

我有一个下面给出的数组...

Array
(
[0] => Array
    (
        [u] => Array
            (
                [id] => 396
                [first_name] => Gyan
                [last_name] => sharma
                [email] => gyan@gmail.com
                [phone_number] => 
            )

    )

[1] => Array
    (
        [u] => Array
            (
                [id] => 589
                [first_name] =>  deep
                [last_name] => sharma
                [email] => deep@gmail.com
                [phone_number] => 
            )

    )
)

我只想从每个数组中删除 [u],就像下面给出的数组一样。

Array
(
[0] => Array
    (
         [id] => 396
         [first_name] => Gyan
         [last_name] => sharma
         [email] => gyan@gmail.com
         [phone_number] => 


    )

[1] => Array
    (
         [id] => 589
         [first_name] =>  deep
         [last_name] => sharma
         [email] => deep@gmail.com
         [phone_number] => 

    )
)

我可以通过 foreach() 循环来完成,但这是一个漫长的过程..

谁能告诉我最短路线。

帮帮我。

提前致谢。

你必须像下面这样使用 array_column():-

$array = array_column($array,'u');

输出:- https://eval.in/833258

您可以为此使用 array_maparray_shift

$a[0]['u']['name'] = "a";
$a[0]['u']['id'] = "a";

$a[1]['u']['name'] = "a";
$a[1]['u']['id'] = "a";



$a = array_map('array_shift', $a);
print_r($a,1);

这是working example

没有 foreach:

$new_array = array_map(function($element){
    return $element['u'];
},$old_array);

var_dump($new_array);

对于foreach:

 $new_array = [];
    foreach($old_array as $value){
     $new_array[] = $value['u']
    }

    var_dump($new_array)

$old_array 是你的数组,$new_array 是你想要的数组