Php 为数组内的值切换多维数组键

Php 为数组内的值切换多维数组键,php,Php,我有以下多维数组,从查询返回: Array ( [0] => Array ( [dimension] => string [value_1] => 100 [value_2] => 200 ) 我想做的是创建这种格式,这样我就可以通过编写类似于$data['dimension']['key']的内容来访问其中的数据: Array ( [string]

我有以下多维数组,从查询返回:

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
        )

有没有一个干净的方法可以做到这一点,或者我应该开始玩循环吗?

我知道的唯一方法就是玩循环

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

print_r($new);

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

array\u组合(array\u列($array,'dimension'),$array)


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

您可以按现在的状态访问其中的数据,而无需使用以下命令对数组进行更多修改:

$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

谢谢,罗斯福。我的大部分代码都是这样的,我正在尝试跳转到“更智能”的编程,所以我想我应该问一下。谢谢你的回复!工作完美:)