Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengisih Tatasusunan PHP mengikut Panjang Nilai?

Bagaimana untuk Mengisih Tatasusunan PHP mengikut Panjang Nilai?

Mary-Kate Olsen
Lepaskan: 2024-11-03 10:08:29
asal
337 orang telah melayarinya

How to Sort a PHP Array by Value Length?

PHP: Mengoptimumkan Isih Tatasusunan mengikut Panjang Nilai

Apabila bekerja dengan tatasusunan nilai panjang berubah-ubah, mengisihnya mengikut panjang elemennya boleh penting untuk menyusun data dengan cekap. Artikel ini menunjukkan penyelesaian praktikal untuk masalah biasa ini.

Penyelesaian:

Tapak web php.net menawarkan penyelesaian menggunakan fungsi usort bersama-sama dengan fungsi pembanding tersuai . Fungsi tersuai, sortByLength, membandingkan panjang dua elemen tatasusunan dan mengembalikan perbezaannya. Dengan menentukan tertib menurun dalam perbandingan, nilai tatasusunan terpanjang muncul dahulu apabila tatasusunan diisih.

<code class="php">function sortByLength($a,$b){
    return strlen($b)-strlen($a);
}

usort($array,'sortByLength');</code>
Salin selepas log masuk

Perhatikan bahawa kaedah ini menggunakan isihan yang tidak stabil, yang bermaksud unsur yang sama mungkin mengubah susunan relatifnya semasa pengisihan.

Sebagai alternatif, fungsi uasort boleh digunakan untuk mengekalkan indeks asal.

<code class="php">uasort($array, 'sortByLength');</code>
Salin selepas log masuk

Contoh:

Untuk menggambarkan penyelesaian ini, pertimbangkan tatasusunan berikut:

<code class="php">$array = array("bbbbb", "dog", "cat", "aaa", "aaaa");</code>
Salin selepas log masuk

Hasil Isih:

Menggunakan fungsi sortByLength, tatasusunan yang diisih akan muncul seperti berikut:

<code class="php">[
    0 => "bbbbb",
    1 => "aaaa",
    2 => "aaa",
    3 => "cat",
    4 => "dog"
]</code>
Salin selepas log masuk

Sementara itu, susunan asal unsur dengan panjang yang sama dikekalkan.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan PHP mengikut Panjang Nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan