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)

青灯夜游
青灯夜游asal
2022-09-13 19:01:242184semak imbas

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);
?>

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);
?>
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);
?>
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);
?>


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);
?>


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);
?>

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!

Kenyataan:
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