多值,多维数组作为单个数组

时间:2014-08-22 15:00:16

标签: php arrays multidimensional-array

所以我有一个多维数组:

    Array
    (
        [0] => Array
            (
                [User_ID] => 1
                [Username] => A NAME
            )

        [1] => Array
            (
                [User_ID] => 2
                [Username] => ANOTHER NAME
            )
    )

我已经看到了如何压扁它......但是我想这样做并让它像这样:

    Array
   (
       [1(As in the User_ID value)] => A NAME
       [2] => ANOTHER NAME
   )

基本上创建一个数组,其中User_ID为键,Username为值。我该怎么做呢?如果它有助于ID和名称列表可能有数百长,那么它不是我正在使用的静态项目数。

2 个答案:

答案 0 :(得分:3)

如果你有PHP 5.5+,那么实际上有一个可以做到这一点的内置函数!它被称为array_column

$newArray = array_column($yourArray, 'Username', 'User_ID');

DEMO:https://eval.in/182109

如果您的PHP版本低于5.5,那么您可以在代码中包含此内容以在https://github.com/ramsey/array_column中填充array_column

答案 1 :(得分:3)

对于PHP版本< 5.5或Rocket Hazmat缺少垫片described,这会将您的阵列转换为必要的格式:

<?php
$originalArray= array(
    0 => array(
        'User_ID' => 1,
        'Username' => 'A NAME'
    ),
    1 => array(
        'User_ID' => 2,
        'Username' => 'ANOTHER NAME'
    )
);

$newArray = array();
foreach ($originalArray as $element)
{
    $newArray[$element['User_ID']] = $element['Username'];
}
?>