Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengisih Tatasusunan PHP mengikut Panjang Nilai?
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>
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>
Contoh:
Untuk menggambarkan penyelesaian ini, pertimbangkan tatasusunan berikut:
<code class="php">$array = array("bbbbb", "dog", "cat", "aaa", "aaaa");</code>
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>
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!