Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menapis Tatasusunan Berdasarkan Awalan Utama dalam PHP?
Menapis Elemen Tatasusunan Berdasarkan Awalan Utama
Memandangkan tatasusunan dengan kunci yang mengikut corak tertentu, anda mungkin perlu mengekalkan secara terpilih sahaja elemen yang memenuhi kriteria tertentu. Dalam kes ini, kami bertujuan untuk menapis tatasusunan, mengekalkan hanya elemen yang kuncinya bermula dengan rentetan tertentu, seperti "foo-".
Pendekatan Fungsian
Kepada mencapai ini menggunakan pendekatan berfungsi, satu pilihan ialah menggunakan fungsi array_filter() bersama-sama dengan panggilan balik tersuai. Fungsi panggil balik memeriksa setiap kekunci dan mengembalikan benar jika ia bermula dengan "foo-". Fungsi array_filter() kemudian menapis tatasusunan berdasarkan keadaan ini, mengekalkan hanya kekunci yang sepadan.
<code class="php">$array = array_filter($array, function($key) { return strpos($key, 'foo-') === 0; }, ARRAY_FILTER_USE_KEY);</code>
Pendekatan Prosedur
Pendekatan prosedur melibatkan pengulangan secara manual melalui tatasusunan. Untuk setiap kunci, kami menyemak sama ada ia bermula dengan "foo-", dan jika ya, kami menambah pasangan nilai kunci pada tatasusunan baharu.
<code class="php">$only_foo = array(); foreach ($array as $key => $value) { if (strpos($key, 'foo-') === 0) { $only_foo[$key] = $value; } }</code>
Pendekatan Prosedur Menggunakan Objek
Satu lagi pendekatan prosedur melibatkan penggunaan ArrayIterator untuk melelaran ke atas tatasusunan. Pendekatan ini membolehkan kami mengakses kedua-dua kunci dan nilai untuk setiap elemen. Kami menapis tatasusunan secara manual dengan menyemak sama ada setiap kekunci bermula dengan "foo-" dan menambahkan elemen padanan pada tatasusunan baharu.
<code class="php">$i = new ArrayIterator($array); $only_foo = array(); while ($i->valid()) { if (strpos($i->key(), 'foo-') === 0) { $only_foo[$i->key()] = $i->current(); } $i->next(); }</code>
Atas ialah kandungan terperinci Bagaimana untuk Menapis Tatasusunan Berdasarkan Awalan Utama dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!