Rumah > Artikel > pembangunan bahagian belakang > php tatasusunan unik
Cara mengendalikan tatasusunan unik dalam PHP
Susun atur ialah salah satu struktur data yang paling biasa digunakan dalam PHP semasa pembangunan aplikasi web. Tatasusunan digunakan secara meluas dalam PHP dan boleh menyimpan sebarang jenis data, daripada rentetan dan nombor kepada objek dan tatasusunan sendiri. Walau bagaimanapun, kadangkala kita perlu mengendalikan tatasusunan tertentu, contohnya, kita perlu mengendalikan tatasusunan yang unik. Dalam artikel ini, kami akan menerangkan cara membuat dan memanipulasi tatasusunan unik dalam PHP.
Apakah tatasusunan tidak berulang?
Tatasusunan tidak berulang merujuk kepada tatasusunan yang tidak mempunyai nilai pendua dalam tatasusunan. Iaitu, setiap elemen dalam tatasusunan ini adalah unik. Apabila kita memerlukan struktur data yang menyimpan nilai yang unik dan tidak menduplikasi, kita boleh menggunakan tatasusunan yang tidak menduplikasi.
Buat tatasusunan unik dalam PHP
PHP menyediakan beberapa cara untuk mencipta tatasusunan unik Di sini kami memperkenalkan dua kaedah.
Cara pertama ialah menggunakan fungsi array_unique() dalam PHP. Fungsi fungsi ini adalah untuk mengalih keluar nilai pendua daripada tatasusunan dan mengembalikan tatasusunan bukan pendua.
Kod sampel adalah seperti berikut:
$array = array('a', 'b', 'c', 'd', 'a', 'c'); $unique_array = array_unique($array);
Dalam kod sampel di atas, kami mencipta tatasusunan $array yang mengandungi nilai pendua, kemudian gunakan fungsi array_unique() untuk mengalih keluar pendua dan menyimpan hasilnya kepada $unique_array tengah. Kini, $unique_array hanya mengandungi nilai unik 'a', 'b', 'c', 'd'.
Perlu diambil perhatian bahawa fungsi array_unique() hanya boleh mengalih keluar nilai pendua dalam tatasusunan satu dimensi Jika anda ingin mengalih keluar nilai pendua dalam tatasusunan berbilang dimensi, anda perlu memanggil fungsi ini secara rekursif.
Cara kedua ialah menggunakan fungsi array_flip() dan array_keys() dalam PHP. Idea kaedah ini ialah menggunakan fungsi array_flip() untuk menukar kekunci dan nilai tatasusunan, yang secara automatik akan mengalih keluar nilai pendua, dan kemudian menggunakan fungsi array_keys() untuk memulihkan nilai kunci asal. Kod sampel adalah seperti berikut:
$array = array('a', 'b', 'c', 'd', 'a', 'c'); $unique_array = array_keys(array_flip($array));
Dalam kod sampel di atas, kami mencipta tatasusunan nilai pendua $array, dan kemudian menggunakan fungsi array_flip() untuk menukar kunci dan nilai tatasusunan untuk menjana tatasusunan "pendua". Seterusnya, gunakan fungsi array_keys() untuk mendapatkan nilai kunci yang disusun semula dan menjana tatasusunan yang mengandungi nilai unik.
Memanipulasi Tatasusunan Unik
Setelah tatasusunan unik dicipta, kita boleh menggunakan pelbagai fungsi tatasusunan PHP untuk mengendalikannya. Operasi ini termasuk mengakses, menambah, memadam dan mencari elemen tatasusunan.
Jika anda ingin mengakses elemen unik dalam tatasusunan, anda boleh menggunakan subskrip atau gelung foreach.
Kod sampel adalah seperti berikut:
$unique_array = array('a', 'b', 'c', 'd'); echo $unique_array[0]; // 输出 a foreach($unique_array as $value){ echo $value . ' '; } // 输出 a b c d
Dalam kod sampel di atas, kami menggunakan subskrip dan gelung foreach untuk mengakses elemen unik dalam tatasusunan.
Jika anda ingin menambah elemen pada tatasusunan tidak berulang, anda boleh menggunakan fungsi array_push() atau array_unshift() dalam PHP .
Kod sampel adalah seperti berikut:
$unique_array = array('a', 'b', 'c', 'd'); array_push($unique_array, 'e'); array_unshift($unique_array, '0'); print_r($unique_array); // 输出 Array ( [0] => 0 [1] => a [2] => b [3] => c [4] => d [5] => e )
Dalam kod sampel di atas, kami menggunakan fungsi array_push() dan array_unshift() untuk menambah elemen pada penghujung dan permulaan tatasusunan tanpa mengulangi.
Perlu diambil perhatian bahawa jika anda menambah elemen sedia ada pada tatasusunan bukan pendua, operasi penambahan akan menjadi tidak sah dan elemen pendua tidak akan muncul dalam tatasusunan.
Jika anda ingin memadamkan elemen daripada tatasusunan bukan pendua, anda boleh menggunakan fungsi unset(), array_splice() fungsi atau array_filter dalam fungsi PHP ().
Kod sampel adalah seperti berikut:
$unique_array = array('a', 'b', 'c', 'd'); unset($unique_array[1]); print_r($unique_array); // 输出 Array ( [0] => a [2] => c [3] => d ) $unique_array = array('a', 'b', 'c', 'd'); array_splice($unique_array, 1, 2); print_r($unique_array); // 输出 Array ( [0] => a [3] => d ) $unique_array = array('a', 'b', 'c', 'd'); $unique_array = array_filter($unique_array, function($value) { return $value != 'a'; }); print_r($unique_array); // 输出 Array ( [1] => b [2] => c [3] => d )
Dalam kod sampel di atas, kami menggunakan fungsi unset(), fungsi array_splice() dan fungsi array_filter() untuk mengalih keluar elemen daripada bukan- tatasusunan pendua masing-masing.
Perlu diambil perhatian bahawa apabila anda menggunakan fungsi unset() untuk memadamkan elemen dalam tatasusunan, kedudukan elemen masih wujud, tetapi nilai kedudukan menjadi NULL. Jika anda ingin mengalih keluar sepenuhnya kedudukan daripada tatasusunan, anda harus menggunakan fungsi array_splice().
Jika anda perlu mencari elemen dalam tatasusunan tidak berulang, anda boleh menggunakan fungsi array_search() dalam PHP.
Kod sampel adalah seperti berikut:
$unique_array = array('a', 'b', 'c', 'd'); $key = array_search('c', $unique_array); echo $key; // 输出 2
Dalam kod sampel di atas, kami menggunakan fungsi array_search() untuk mencari elemen 'c' dalam tatasusunan yang tidak berulang, dan kembali subskrip elemen dalam tatasusunan.
Kesimpulan
Dalam artikel ini, kami menunjukkan kepada anda cara mencipta dan memanipulasi tatasusunan tidak berulang dalam PHP. Untuk mencipta tatasusunan unik, anda boleh menggunakan fungsi array_unique() atau fungsi array_flip() dan array_keys() Untuk mengendalikan tatasusunan unik, anda boleh menggunakan fungsi tatasusunan biasa dalam PHP. Untuk situasi di mana nilai unik sering perlu diproses, menggunakan tatasusunan bukan pendua boleh meningkatkan kecekapan berjalan program dengan berkesan.
Atas ialah kandungan terperinci php tatasusunan unik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!