按键使用数组对结果数组进行排序

时间:2012-07-20 08:13:55

标签: php

我有2个阵列:

(1)带Key的数组=>值,以及没有相关键的数组(2)和数组1中的键以不同的顺序值。是否有一个优雅的解决方案,将数组1放在与数组2中的值相同的顺序中?

$data = array(
'NAME' => 'XYZ',
'NUMB' => 1234,
'CITY' => 'TEST'
);

$sort = array(
'A1' => 'CITY',
'XY' =>  'NUMB',
'XX' => 'NAME',
);

$result = array(
'CITY' => 'TEST,
'NUMB' => 1234,
'NAME' => 'XYZ',
);

2 个答案:

答案 0 :(得分:2)

$data = array(
    'NAME' => 'XYZ',
    'NUMB' => 1234,
    'CITY' => 'TEST'
);

$sort = array(
    'A1' => 'CITY',
    'XY' => 'NUMB',
    'XX' => 'NAME'
);

$result = array();
foreach($sort as $key => $value){
    if(isset($data[$value]))
        $result[$value] = $data[$value];
}

print_r($result);

答案 1 :(得分:2)

我注意到了错字,并认为你想要这个:

$result=array();
foreach ($sort as $var=>$val){
    $result[$val]=$data[$val];
}