Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

WBOY
WBOYasal
2021-11-08 17:54:054851semak imbas

Dalam artikel sebelumnya "Bagaimana untuk mendapatkan nama kunci dalam tatasusunan? Bagaimana untuk menukar kes nama kunci? "" menyediakan pengenalan terperinci kepada operasi nama kunci dalam PHP, seperti mendapatkan nama kunci dan menukar huruf nama kunci Dalam artikel ini, kita akan melihat cara mengisih berbilang tatasusunan dalam PHP membantu semua orang!

Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

Dalam artikel sebelum ini kami mengetahui bahawa jika anda ingin mendapatkan semua nama elemen dalam tatasusunan, anda perlu menggunakan fungsi array_keys untuk menukar saiz nama kunci tatasusunan. Penulisan perlu dilakukan melalui fungsi array_change_key_case. Ini semua adalah sebahagian daripada operasi tatasusunan. Kami memperkenalkan beberapa daripadanya secara ringkas dalam "Cara mengisih tatasusunan PHP (gambar dan teks terperinci)".

Bagaimana untuk mengisih berbilang tatasusunan dalam PHP? Bagaimana untuk mengisih tatasusunan secara rawak? Terdapat fungsi array_multisort terbina dalam dan fungsi shuffle dalam PHP yang boleh mengisih tatasusunan dalam tertib menaik dan tertib rawak Mari kita lihat bersama-sama.

<strong><span style="font-size: 20px;">array_multisort</span></strong> Fungsi - Isih berbilang tatasusunan

Dalam PHP, fungsi array_multisort boleh memasukkan satu atau lebih tatasusunan, Fungsi itu menyusun tatasusunan pertama dan kemudian tatasusunan seterusnya. Format sintaks asas fungsi array_multisort adalah seperti berikut:

array_multisort(array1,sorting order,sorting type,array2,array3...)

Apa yang perlu diberi perhatian ialah:

Parameter array1 diperlukan dan merupakan tatasusunan untuk diisih , parameter array2, 3 adalah pilihan dan juga tatasusunan untuk diisih. Parameter sorting order juga merupakan parameter pilihan Secara lalai, parameter mewakili SORT_ASC, yang menunjukkan bahawa tatasusunan diisih dalam tertib menaik Apabila tertib isihan tunggal ialah SORT_DESC, ia menunjukkan bahawa tatasusunan disusun dalam tertib menurun . Parameter

sorting type juga merupakan parameter pilihan Nilai lalai ialah SORT_REGULAR, yang bermaksud tatasusunan diisih dalam susunan biasa. Apabila nilai parameter ialah SORT_NUMERIC , ini bermakna elemen dalam tatasusunan dianggap sebagai nombor. Apabila nilai parameter ialah SORT_STRING, ini bermakna elemen dalam tatasusunan dianggap sebagai rentetan. Apabila nilai parameter ialah SORT_LOCALE_STRING, ini bermakna nilai ditukar melalui fungsi setlocale dan dianggap sebagai rentetan. Apabila nilai parameter ialah SORT_NATURAL, ia mewakili pengisihan semula jadi yang serupa dengan natsort().

Gunakan fungsi array_multisort untuk mengisih rentetan Elemen yang nama kuncinya ialah rentetan akan dikekalkan, tetapi nama kuncinya ialah nombor akan diindeks semula. Peraturan pengindeksan masih sama.

Jika pengisihan berjaya, hasil yang dikembalikan ialah true; jika pengisihan gagal, hasil yang dikembalikan ialah false.

Mari kita lihat penggunaan asas fungsi array_multisort melalui contoh seperti berikut:

<?php
$a1=array("Dog","Cat");
$a2=array("Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>

Hasil keluaran:

Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

Dalam contoh di atas, hasil yang dikembalikan diisih dalam tertib menaik Mari kita lihat bagaimana hasil output akan berubah apabila kedua-dua nilai adalah sama. Contohnya adalah seperti berikut:


<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>
Hasil keluaran:


Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

Dalam contoh di atas, apabila kedua-dua elemen dalam tatasusunan adalah sama, mereka tidak akan ditimpa Tetapi nama utama adalah berbeza dan disusun semula.

Mari lihat contoh komprehensif di bawah Apabila kita menggabungkan dua tatasusunan dan menyusunnya dalam tertib menurun, apakah yang akan berlaku kepada hasil keluaran? hasil:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>

Dalam perkara di atas, kita boleh mengisih elemen tatasusunan melalui fungsi

Mari perkenalkan fungsi shuffle. Ia boleh mengocok tatasusunan. Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

array_multisortkocok

<strong><span style="font-size: 20px;">shuffle</span></strong>Fungsi - Susun semula tatasusunan dalam Sejak terdapat fungsi dalam PHP yang boleh menyusun elemen tatasusunan mengikut tertib, terdapat juga cara untuk menyusun semula tatasusunan, iaitu mengganggu tatasusunan. Struktur sintaks asas bagi fungsi

adalah seperti berikut: shuffle

shuffle(array)
Tatasusunan parameter ialah tatasusunan yang perlu disusun semula Fungsi

() menyusun semula elemen dalam tatasusunan secara rawak pesanan. Nama kunci asal dalam tatasusunan akan dipadamkan, dan tatasusunan baharu akan mempunyai nama kunci baharu. shuffle

函数如果排序成功,返回的结果是true,如果失败,返回的结果是flase

下面我们通过示例来看一下shuffle函数的使用,示例如下:

<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>

输出结果:

Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?

上述示例中,通过shuffle函数将数组进行重新排列,并且每执行一次数组的排列顺序就会改变。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah menyusun dan mengocok tatasusunan dalam PHP?. 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