从数组中切换值的多维数组键

时间:2013-05-24 17:18:28

标签: php

我有一个从查询返回的以下多维数组:

Array
(
    [0] => Array
        (
            [dimension] => string
            [value_1] => 100
            [value_2] => 200
        )

我要做的就是创建这种格式,这样我就可以通过写$data['dimension']['key']之类的内容来访问其中的数据:

Array
(
    [string] => Array
        (
            [dimension] => string
            [value_1] => 100
            [value_2] => 200
        )

有没有干净的方法可以做到这一点,还是应该开始玩循环?

3 个答案:

答案 0 :(得分:1)

我知道如何做的唯一方法就是循环。

$new = Array();
foreach($old as $key => $value) {
    $new[$value['dimension']] = $value;
}

print_r($new);

答案 1 :(得分:1)

您可以通过组合键和值来创建新数组:

array_combine(array_column($array, 'dimension'), $array)

但请记住,维度必须是唯一的。

答案 2 :(得分:0)

您可以像现在一样访问数据,而无需使用以下数据进行更多数组修改:

$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
//in case you want to view data in the arrays
//echo "Index array\n";
//print_r($index);
//echo "\nVals array\n";
//print_r($vals);

$answer = $vals[0][value_1];
echo $answer;

它应该= 100

相关问题