Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mengisih tatasusunan berdasarkan syarat untuk menyemak maksimum 2 digit dalam laravel sql

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粉060112396P粉060112396430 hari yang lalu482

membalas semua(1)saya akan balas

  • P粉450079266

    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.

    balas
    0
  • Batalbalas