drymoeuka282427675 2017-03-20 19:27
浏览 69
已采纳

如何将多维php数组转换为值为键的简单关联数组?

Language is PHP.

So I want to turn a multidimensional array into a simple associative array that uses every second value as a key and every third value as a value to that key.

The initial array looks like this:

Array
(
[0] => Array
    (
        [id] => 1
        [name] => Adam
        [value] => 150
    ),

[1] => Array
    (
        [id] => 2
        [name] => Bob
        [value] => 120
    ),

[2] => Array
    (
        [id] => 3
        [name] => Charlie
        [value] => 175
    )

)

I want to turn it into a simple associative array that looks like this:

Array
(
Adam => 150,
Bob => 120,
Charlie => 175
)

I tried (and failed with) something like this:

$initialArray;
$arrayPrepped = array();
    foreach ($initialArray as $part) {
        foreach ($part as $name => $value) {
            if ($name == 'name') {
                $key = $value;
            } elseif ($name == 'value') {
                $finalvalue = $value;
            }
            $finalpart = array($key => $finalvalue);
        }
        array_merge($initialArray, $finalpart);
    }
  • 写回答

3条回答 默认 最新

  • douluolan9101 2017-03-20 19:31
    关注

    What about this one-liner!

    print_r(array_column($initialArray, 'value', 'name'));
    

    Read up on array_column.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗