Sortieren Sie die Zeilen eines 2D -Arrays nach einer Spalte, die von einem anderen flachen Array bestellt werden soll [D
Posted: 27 Jan 2025, 07:28
Ich versuche, ein mehrdimensionales Array nach einem anderen Array zu sortieren, bin aber bisher zu kurz gekommen.
scheint nur für echte Sortierung zu funktionieren.
Angenommen, ich habe diese 2 Arrays:
Jetzt möchte ich mein $data-Array entsprechend der Reihenfolge in meinem $order-Array sortieren.
Das ist was Ich möchte, dass das Ergebnis so aussieht:
$data = array(
array('id' => 2, 'title' => 'whatever'),
array('id' => 3, 'title' => 'whatever')
array('id' => 1, 'title' => 'whatever'),
);
< /code>
Ich kann dies einfach erreichen, indem ich eine verschachtelte Schleife ausführen würde, aber das würde nicht gut skalieren (mein Array ist ziemlich groß und die Arrays haben viele weitere Felder ).
Code: Select all
array_multisort
Angenommen, ich habe diese 2 Arrays:
Code: Select all
$order = array(2, 3, 1);
$data = array(
array('id' => 1, 'title' => 'whatever'),
array('id' => 2, 'title' => 'whatever'),
array('id' => 3, 'title' => 'whatever')
);
Das ist was Ich möchte, dass das Ergebnis so aussieht:
$data = array(
array('id' => 2, 'title' => 'whatever'),
array('id' => 3, 'title' => 'whatever')
array('id' => 1, 'title' => 'whatever'),
);
< /code>
Ich kann dies einfach erreichen, indem ich eine verschachtelte Schleife ausführen würde, aber das würde nicht gut skalieren (mein Array ist ziemlich groß und die Arrays haben viele weitere Felder ).