0

私は2つの配列を持っています:

(1) キー => 値を持つ配列、および配列 (2) 関連するキーがなく、値として配列 1 のキーが異なる順序である。配列 2 の値と同じ順序で配列 1 を配置するエレガントなソリューションはありますか?

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

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

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

2 に答える 2

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);
于 2012-07-20T08:22:30.610 に答える
2

タイプミスに気づきました。あなたはこれが欲しいと思います:

$result=array();
foreach ($sort as $var=>$val){
    $result[$val]=$data[$val];
}
于 2012-07-20T08:29:10.670 に答える