将3d数组排序为2个单独的数组php

时间:2017-02-14 15:35:45

标签: php arrays

我有一个数组,就像下面的那个,但有更多的人。

我想得到一个单独的数组,例如年龄可能是[22,13,19],就像我可以像这样调用的函数; -

sort($ageArray, "age");

function sort (newArray, value)
{
    foreach (index in mainArray)
    {
        array_push(newArray, mainArray("age")
    }
}

我知道那是错的,但这样的事情会很好

Array ( [0] => Array ( 
    [username] => Admin 
    [age] => 22 
    [gender] => M 
    [email] => Admin@gmail.com 
    [kills] => 10 [deaths] => 3 
    [score] => 33000 
    [posts] => 5 ) 
[1] => Array ( 
    [username] => Jack23 
    [age] => 13 
    [gender] => M 
    [email] => Jack23@gmail.com 
    [kills] => 23 
    [deaths] => 22 
    [score] => 52000 
    [posts] => 0 ) 
[2] => Array ( 
    [username] => LucySmith 
    [age] => 19 
    [gender] => F 
    [email] => Lucy2@hotmail.com 
    [kills] => 5 
    [deaths] => 52 
    [score] => 2400 
    [posts] => 0 ))

我设法提出了这个

$a = array_values($mainArray);
$b = array_values($a[0]);
echo $b[0];

echos" admin",所以我理论上可以将它放在循环中以回显所有用户名并将它们放入数组中但是我如何为年龄或帖子之类的东西做呢? / p>

2 个答案:

答案 0 :(得分:2)

根据手册: - http://php.net/manual/en/function.array-column.php

您需要使用array_column(),如下所示: -

$ages = array_column($myArray, 'age');

你也可以这样做(@AbraCadaver建议): -

$ages = array_column($dataArray, 'age', 'username'); 

所以你可以做echo $ages['Admin'];

示例输出: - https://eval.in/737005

答案 1 :(得分:0)

您可以使用foreach循环获取结果。

foreach($ageArray as $array)
{
$age[] = $array['age'];
}

print_r($age);//prints array of ages