Rumah > Soal Jawab > teks badan
Dalam balasan saya saya dapat
[ { "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, } ]
Tetapi saya mahu balasan saya diisih dengan cara yang menyemak HSN (berdasarkan 2 digit pertama HSN) dan memberikan saya keputusan seperti ini
[ { "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, } ]
Saya telah mencuba sortBy , kaedah pengisihan, tetapi ia nampaknya tidak berkesan untuk saya, atau saya melakukannya dengan cara yang salah. Bantu saya mendapatkannya dengan cara yang betul
P粉4500792662023-09-09 10:42:03
Mula-mula anda perlu membaca dokumentasi tentang usort dan 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);
Penjelasan tentang usort dan strcmp mungkin anda perlu membaca dokumentasi untuk memahaminya dengan lebih mendalam.