Bagaimana untuk Mengisih Tatasusunan PHP mengikut Panjang Rentetan dalam Susunan Menurun?

Linda Hamilton
Lepaskan: 2024-11-01 04:44:27
asal
116 orang telah melayarinya

How to Sort a PHP Array by String Length in Descending Order?

Mengisih Tatasusunan mengikut Panjang Nilai dalam PHP

Dalam bidang pemadanan anagram, menyusun padanan positif dalam tertib menurun mengikut panjangnya boleh menjadi langkah penting. Jika anda menghadapi cabaran ini dalam PHP, berikut ialah penyelesaian menggunakan fungsi usort yang berkuasa.

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

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

Fungsi sortByLength tersuai ini membandingkan panjang dua rentetan dan mengembalikan nilai negatif jika rentetan pertama lebih panjang. Fungsi usort mengisih tatasusunan di tempatnya menggunakan fungsi perbandingan yang disediakan.

Sebagai alternatif, jika anda perlu mengekalkan indeks tatasusunan asal, anda boleh menggunakan uasort sebaliknya:

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

Sementara kedua-dua usort dan uasort menawarkan penyelesaian yang berdaya maju, usort dianggap sebagai jenis yang tidak stabil, yang bermaksud elemen yang sama mungkin tidak mengekalkan susunan asalnya selepas mengisih. Oleh itu, versi yang disediakan memastikan gelagat pengisihan yang stabil.

Untuk menggambarkan proses pengisihan, pertimbangkan tatasusunan berikut:

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

Selepas mengisih, tatasusunan akan disusun seperti berikut:

[0] => "bbbbb"
[1] => "aaaa"
[2] => "aaa"
[3] => "cat"
[4] => "dog"
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan PHP mengikut Panjang Rentetan dalam Susunan Menurun?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!