Maison > Questions et réponses > le corps du texte
Dans ma réponse, je reçois
[ { "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, } ]
Mais je veux que ma réponse soit triée de manière à vérifier le HSN (en fonction des 2 premiers chiffres du HSN) et me donne un résultat comme celui-ci
[ { "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, } ]
J'ai essayé sortBy , la méthode de tri, mais cela ne semble pas fonctionner pour moi, ou je le fais mal. Aide-moi à faire les choses correctement
P粉4500792662023-09-09 10:42:03
Vous devez d'abord lire la documentation sur usort et strcmp
$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);
Explication sur usort et strcmp, vous devrez peut-être lire la documentation pour le comprendre plus profondément.