简体   繁体   English

如何合并具有相同键的一个或多个嵌套数组值

[英]How to merge one or more nested array values having same keys

I'm little bit confuse in this concept 我对这个概念有些困惑

Actually I'm having an array like this 其实我有这样的数组

    $arr = array("0"=>array("username"=>"username1"),"1"=>array("username"=>"username2"),"2"=>array("username"=>"username3"),"3"=>array("username"=>"username4"));
    echo "<pre>";print_r($arr);
    $finalArray = call_user_func_array('array_merge', $arr);
    echo "<pre>";print_r($finalArray);

Finally from this I'm getting an array like this 最后,我得到了这样的数组

Array
(
    [username] => username4
)

But I need all the values like as follows 但是我需要如下的所有值

Array
(
    [0] => username1
    [1] => username2
    [2] => username3
    [3] => username4
)

How should I do this?..Could someone please help me.. 我应该怎么做?..有人可以帮我吗..

Thank you, 谢谢,

使用array_column函数的简单解决方案(自PHP 5.5起可用):

$result = array_column($arr, 'username');

You can write your own function to get usernames 您可以编写自己的函数来获取usernames

Try this 尝试这个

<?php
function getUserNames($arr){
    $userNames = array();
    foreach ($arr as $key => $value){
        $userNames[$key] = $value["username"];
    }   
    return $userNames;
}
$arr = array("0"=>array("username"=>"username1"),"1"=>array("username"=>"username2"),"2"=>array("username"=>"username3"),"3"=>array("username"=>"username4"));
echo "<pre>";print_r($arr);
$finalArray = getUserNames($arr);
echo "<pre>";print_r($finalArray);
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM