Dalam pengaturcaraan PHP, kita sering menghadapi situasi di mana kita perlu mengendalikan tatasusunan. Apabila kita perlu mengalih keluar elemen tertentu daripada tatasusunan satu dimensi, terdapat banyak cara untuk melakukannya. Artikel ini akan memperkenalkan beberapa kaedah pelaksanaan dan membandingkan kelebihan dan kekurangannya.
1. Gunakan fungsi unset untuk mengalih keluar elemen tatasusunan
Fungsi unset dalam PHP boleh digunakan untuk memusnahkan nilai pembolehubah yang ditentukan. Dalam tatasusunan, kita boleh menggunakan fungsi unset untuk memadamkan elemen yang ditentukan.
Contoh berikut menunjukkan cara menggunakan fungsi tidak ditetapkan untuk mengalih keluar elemen daripada tatasusunan satu dimensi:
<?php $arr = array(1, 2, 3, 4); unset($arr[2]); print_r($arr); ?>
Kod ini akan mengeluarkan keputusan berikut:
Array ( [0] => 1 [1] => 2 [3] => 4 )
Dalam kod di atas, kami Elemen ketiga tatasusunan $arr (iaitu, elemen dengan indeks tatasusunan 2) dipadamkan menggunakan fungsi tidak ditetapkan. Seperti yang anda lihat, hanya tinggal 3 elemen dalam tatasusunan yang dipadam, dan elemen dengan indeks 2 telah dipadamkan.
Kelebihan menggunakan fungsi tidak ditetapkan untuk memadam elemen ialah kecekapan pemadaman yang tinggi, operasi mudah dan intuitif ialah subskrip tatasusunan tidak boleh dijamin berterusan, dan subskrip mungkin tidak berterusan, yang mana; mungkin berlaku dalam beberapa kes menjejaskan pelaksanaan biasa program.
2. Gunakan fungsi array_splice untuk mengalih keluar elemen tatasusunan
Fungsi array_splice dalam PHP boleh digunakan untuk memadamkan elemen daripada tatasusunan dan menggantikannya dengan nilai lain. Penggunaannya adalah seperti berikut:
array_splice($array, $offset, $length, $replacement);
di mana $array ialah tatasusunan yang akan dikendalikan; $offset ialah kedudukan permulaan bagi elemen yang akan dipadamkan; Adakah nilai untuk menggantikan elemen yang dipadam (pilihan, nilai lalai ialah tatasusunan kosong).
Contoh berikut menunjukkan cara menggunakan fungsi array_splice untuk mengalih keluar elemen daripada tatasusunan satu dimensi:
<?php $arr = array(1, 2, 3, 4); array_splice($arr, 2, 1); print_r($arr); ?>
Kod ini akan mengeluarkan keputusan berikut:
Array ( [0] => 1 [1] => 2 [2] => 4 )
Dalam kod di atas, kami Elemen ke-3 tatasusunan $arr telah dipadamkan menggunakan fungsi array_splice. Seperti yang anda lihat, hanya tinggal 3 elemen dalam tatasusunan yang dipadam, dan elemen dengan indeks 2 telah dipadamkan.
Kelebihan menggunakan fungsi array_splice untuk memadam elemen ialah ia dapat memastikan bahawa subskrip tatasusunan adalah berterusan dan tidak akan ada subskrip terputus-putus ialah kecekapan pemadaman adalah rendah dan operasinya adalah sedikit rumit. Di samping itu, jika anda ingin memadamkan berbilang elemen pada masa yang sama, anda perlu memanggil fungsi array_splice beberapa kali, yang akan menjadi lebih tidak cekap.
3. Gunakan fungsi array_filter untuk menapis elemen
Fungsi array_filter dalam PHP boleh digunakan untuk menapis elemen dalam tatasusunan. Penggunaannya adalah seperti berikut:
array_filter($array, $callback);
di mana $array ialah tatasusunan yang akan ditapis; $callback ialah fungsi panggil balik yang digunakan untuk menentukan sama ada setiap elemen dalam tatasusunan perlu dikekalkan. Apabila fungsi panggil balik kembali benar, elemen dikekalkan apabila fungsi panggil balik kembali palsu, elemen itu dialih keluar daripada tatasusunan.
Contoh berikut menunjukkan cara menggunakan fungsi array_filter untuk mengalih keluar elemen daripada tatasusunan satu dimensi:
<?php $arr = array(1, 2, 3, 4); function filter($val){ return ($val != 3); } $arr = array_filter($arr, "filter"); print_r($arr); ?>
Kod ini akan mengeluarkan keputusan berikut:
Array ( [0] => 1 [1] => 2 [3] => 4 )
Dalam kod di atas, kami Fungsi panggil balik ditakrifkan untuk menentukan sama ada elemen tatasusunan perlu dikekalkan. Elemen yang mengembalikan palsu daripada fungsi ini akan ditapis keluar, menghasilkan tatasusunan baharu dengan elemen ke-3 dialih keluar.
Kelebihan menggunakan fungsi array_filter untuk memadamkan elemen ialah operasinya adalah mudah dan fleksibel, dan sebarang syarat penapisan boleh dilaksanakan melalui fungsi panggil balik adalah bahawa kecekapan pemadaman adalah rendah, dan ia adalah menyusahkan untuk memadamkan berbilang elemen.
Ringkasan
Di atas memperkenalkan tiga kaedah untuk mengalih keluar elemen tatasusunan satu dimensi Kelebihan dan kekurangannya adalah seperti berikut:
Kelebihan: kecekapan pemadaman tinggi, operasi mudah dan intuitif.
Kelemahan: Tiada jaminan bahawa subskrip tatasusunan adalah berterusan dan subskrip mungkin tidak berterusan.
Kelebihan: Ia boleh memastikan bahawa subskrip tatasusunan adalah berterusan dan tidak akan ada subskrip terputus.
Kelemahan: Kecekapan pemadaman adalah rendah dan operasinya agak rumit.
Kelebihan: Operasi mudah dan fleksibel, sebarang syarat penapisan boleh dilaksanakan melalui fungsi panggil balik.
Kelemahan: Kecekapan pemadaman adalah rendah dan menyusahkan untuk memadamkan berbilang elemen.
Oleh itu, dalam proses pengaturcaraan khusus, adalah perlu untuk memilih kaedah yang sesuai untuk mengendalikan tatasusunan mengikut keperluan sebenar untuk mencapai kecekapan optimum dan kualiti program yang terbaik.
Atas ialah kandungan terperinci php mengeluarkan elemen tatasusunan satu dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!