Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)

Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)

青灯夜游
Lepaskan: 2023-03-16 19:54:02
asal
2179 orang telah melayarinya

Tiga kaedah pengisihan menaik: 1. Gunakan fungsi sort() untuk mengisih elemen tatasusunan dalam tertib menaik, sintaks ialah "sort($arr, sort mode);" 2. Gunakan asort( ) fungsi, Ia boleh diisih dalam tertib menaik mengikut nilai utama tatasusunan bersekutu, sintaksnya ialah "asort($arr, mod sorting)" 3. Menggunakan fungsi ksort(), ia boleh diisih dalam susunan menaik mengikut nama kunci tatasusunan bersekutu, sintaksnya ialah "ksort($arr, mod sorting)" model)".

Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 8.1, komputer DELL G3

Dalam php, satu-dengan-satu tanpa penduaan Tiga kaedah biasa untuk pengisihan menaik tatasusunan dimensi:

  • sort(): Susun elemen tatasusunan dalam tertib menaik

  • asort(): Mengikut Isih tatasusunan dalam tertib menaik mengikut nilai kunci tatasusunan bersekutu

  • ksort(): Isih tatasusunan dalam tertib menaik mengikut nama kunci tatasusunan bersekutu

1 Gunakan fungsi sort()

fungsi sort() untuk mengisih elemen tatasusunan dalam tertib menaik (dari kecil ke besar, dari. rendah ke tinggi).

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
sort($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
sort($arr2);
var_dump($arr2);
?>
Salin selepas log masuk

Output:

Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)

Fungsi sort() mempunyai dua parameter: $array (diperlukan) dan $sortingtype ( boleh diketepikan).

Antaranya, parameter $sortingtype digunakan untuk mentakrifkan mod pengisihan fungsi dan menentukan cara membandingkan elemen/item tatasusunan Nilai lalai ialah "SORT_REGULAR".

Parameter $sortingtype boleh ditetapkan kepada nilai berikut:

  • 0 = SORT_REGULAR: Bandingkan elemen tatasusunan secara normal tanpa mengubah jenisnya (nilai lalai); 🎜>

  • 1 = SORT_NUMERIC: Anggap elemen tatasusunan sebagai nombor; 🎜>3 = SORT_LOCALE_STRING: Bandingkan elemen tatasusunan sebagai rentetan berdasarkan tempat semasa (boleh ditukar melalui setlocale()).
  • 4 = SORT_NATURAL: Sama seperti natsort(), ia mengisih rentetan dalam "tertib semula jadi" untuk setiap elemen tatasusunan. Ia baharu dalam PHP5.4.0.
  • 5 = SORT_FLAG_CASE: Boleh digabungkan dengan SORT_STRING atau SORT_NATURAL (ATAU operasi bitwise), pengisihan rentetan yang tidak peka huruf besar-kecil.
  • Hasil keluaran:

  • Fungsi sort() tidak akan mengekalkan hubungan indeks . Padamkan nama kunci asal dalam tatasusunan dan tetapkan nama kunci angka baharu.
<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
sort($arr1,2);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
sort($arr2,1);
var_dump($arr2);
?>
Salin selepas log masuk
Output:


Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)

Fungsi sort() boleh digunakan untuk tatasusunan di mana hubungan antara nilai dan indeks tidak sangat penting (tatasusunan angka), tetapi ia tidak sesuai untuk tatasusunan yang menumpukan pada hubungan antara nilai dan indeks. Pada ketika ini, anda perlu menggunakan fungsi asort() dan ksort().

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
sort($age);
var_dump($age);
?>
Salin selepas log masuk
2. Gunakan fungsi asort()


fungsi asort() akan mengisih tatasusunan bersekutu dalam tertib menaik mengikut nilai utama dan tidak akan mengubah suai nama kunci dalam tatasusunan asal.

Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)

Output:

Fungsi asort() juga mempunyai dua parameter, dan nilai parameter ialah sama seperti fungsi sort() , anda boleh merujuknya.

header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
asort($age);
var_dump($age);
?>
Salin selepas log masuk


3. Gunakan fungsi ksort()

Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)fungsi ksort() akan mengisih tatasusunan bersekutu dalam tertib menaik mengikut nama kunci, dan tidak akan mengubah suai nama kunci tatasusunan.

Output:

Output:

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
ksort($age);
var_dump($age);
?>
Salin selepas log masuk


Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua)Fungsi ksort() juga mempunyai dua parameter Nilai parameter adalah sama dengan fungsi sort(), anda boleh merujuknya.

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
ksort($arr);
var_dump($arr);
?>
Salin selepas log masuk

Pembelajaran yang disyorkan: "
Tutorial Video PHP

"

Atas ialah kandungan terperinci Bagaimana untuk mengisih tatasusunan satu dimensi dalam tertib menaik dalam php (tanpa mengalih keluar pendua). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan