Heim > Fragen und Antworten > Hauptteil
In meiner Antwort bekomme ich
[ { "id": 480, "HSN": 4808, }, { "id": 575, "HSN": 5702, }, { "id": 638, "HSN": 6301, }, { "id": 765, "HSN": 7317, }, { "id": 6626, "HSN": 47071000, }, { "id": 6727, "HSN": 48081000, }, { "id": 6728, "HSN": 48084010, } ]
Aber ich möchte, dass meine Antwort so sortiert wird, dass die HSN überprüft wird (basierend auf den ersten beiden Ziffern der HSN) und mir ein Ergebnis wie dieses liefert
[ { "id": 6626, "HSN": 47071000, }, { "id": 480, "HSN": 4808, }, { "id": 6727, "HSN": 48081000, }, { "id": 6728, "HSN": 48084010, }, { "id": 575, "HSN": 5702, }, { "id": 638, "HSN": 6301, }, { "id": 765, "HSN": 7317, } ]
Ich habe sortBy ausprobiert, die Sortiermethode, aber sie scheint bei mir nicht zu funktionieren, oder ich mache es falsch. Hilf mir, es richtig zu machen
P粉4500792662023-09-09 10:42:03
$data = [ [ "id" => 480, "HSN" => 4808, ], [ "id"=> 575, "HSN"=> 5702, ], [ "id"=> 638, "HSN"=> 6301, ], [ "id"=> 765, "HSN"=> 7317, ], [ "id"=> 6626, "HSN"=> 47071000, ], [ "id"=> 6727, "HSN"=> 48081000, ], [ "id"=> 6728, "HSN"=> 48084010, ] ]; usort($data, function($arr1, $arr2) { return strcmp($arr1['HSN'], $arr2['HSN']); }); dd($data);
关于usort和strcmp的解释也许你必须阅读文档 以便更深入地了解它。