php-按另一个多维阵列排序阵列



我有一个数组:

$row = [
  "serial_number" => "TDZL02616"
  "id_machine" => "1720"
  "action" => "go"
]

我还有一个具有多维数组,具有列的定义及其顺序(列"序列"):

$colDef = [
    [
        'name'       => 'serial_number',
        'sequence'   => 2,
        'visible'    => true,
    ],
    [
        'name'          => 'id_machine',
        'sequence'      => 1,
        'visible'       => true,
    ],
    [
        'name'     => 'action',
        'sequence' => 3,
        'visible'  => true,
    ],
]

我如何根据第二个数组($colDef)及其列"序列"轻松地对第一个数组($row)进行排序,我将获得结果:

$row = [
  "id_machine" => "1720"
  "serial_number" => "TDZL02616"
  "action" => "go"
]

我不知道从哪里开始或如何解决它。

尝试这个。

$colDef2 = [];
foreach($colDef as $cd){
    $colDef2[$cd['sequence']] = $cd['name'];
}
ksort($colDef2);
$row2 = [];
foreach($colDef2 as $i){
    $row2[$i] = $row[$i];
}

请注意使用PHP函数 ksort 可以在此处找到。

最新更新