Dalam pembangunan PHP, tatasusunan ialah jenis data yang sangat penting. Kita mungkin perlu mengosongkan semua elemen bukan angka dalam tatasusunan untuk melakukan pengiraan yang lebih kompleks atau operasi lain.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengosongkan elemen bukan angka dalam tatasusunan dan memberikan beberapa contoh praktikal untuk membantu pembaca memahami proses ini dengan lebih baik.
Fungsi array_filter() boleh merentasi tatasusunan dan memadamkan elemen yang tidak memenuhi syarat. Kita boleh menggunakan fungsi ini untuk menapis tatasusunan melalui fungsi tersuai, mengekalkan hanya elemen angka. Berikut ialah contoh kod:
$array = array("string", 1234, "5", "67.8", 90); function only_num($var) { return is_numeric($var); } $result = array_filter($array, "only_num"); print_r($result); //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )
Dalam contoh di atas, kami menggunakan fungsi is_numeric(), yang menentukan sama ada pembolehubah yang diberikan ialah nombor atau rentetan nombor. Kami kemudian menghantar fungsi ini sebagai fungsi panggil balik kepada fungsi array_filter() untuk memproses tatasusunan.
Ungkapan biasa ialah alat pemprosesan teks yang sangat berguna yang boleh anda gunakan untuk memadankan dan menggantikan teks dengan corak. Dalam kes ini, kita boleh menggunakan ungkapan biasa untuk memadankan semua nombor dan mengalih keluar elemen bukan nombor.
Berikut ialah contoh ungkapan biasa untuk membersihkan tatasusunan:
$array = array("string", 1234, "5", "67.8", 90); foreach ($array as $key => $value) { if (preg_match('/^\d+$/',$value) !== 1) { unset($array[$key]); } } print_r($array); //输出:Array ( [1] => 1234 [2] => 5 [4] => 90 )
Dalam contoh di atas, kami menggunakan fungsi preg_match() dan ungkapan biasa "/^d+$ /" untuk memadankan Semua rentetan angka. Jika padanan berjaya (1 dikembalikan), elemennya ialah nombor. Jika tidak, kami akan memanggil fungsi unset() untuk memadamkan elemen. Akhirnya, kami mengeluarkan elemen angka yang tinggal ke skrin.
Fungsi array_walk() ialah satu lagi fungsi terbina dalam PHP yang boleh digunakan untuk melintasi tatasusunan dan melaksanakan fungsi tersuai pada setiap elemen. Kita boleh menggunakan fungsi ini untuk mengosongkan elemen bukan angka daripada tatasusunan.
Berikut ialah contoh menggunakan fungsi array_walk() untuk membersihkan tatasusunan:
$array = array("string", 1234, "5", "67.8", 90); function only_num(&$value, $key) { if (!is_numeric($value)) { unset($value); } } array_walk($array, "only_num"); print_r($array); //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )
Dalam contoh di atas, kami menghantar fungsi panggil balik ke fungsi array_walk() untuk mengosongkan unsur bukan angka. Apabila elemen itu bukan nombor, kami mengalih keluarnya supaya hanya elemen angka yang kekal.
Kesimpulan
Dalam pembangunan PHP, penggunaan tatasusunan adalah sangat biasa. Kadangkala, kita perlu mengalih keluar semua elemen bukan angka daripada tatasusunan untuk melakukan pengiraan kompleks atau operasi lain. Artikel ini menerangkan tiga cara berbeza untuk mencapai matlamat ini: menggunakan fungsi PHP terbina dalam array_filter(), menggunakan ungkapan biasa dan menggunakan fungsi array_walk(). Anda boleh memilih kaedah yang berbeza mengikut keperluan anda sendiri, dan mengubah suai serta menyesuaikannya mengikut situasi sebenar. Dalam pembangunan sebenar, teknik ini sepatutnya sangat berguna.
Atas ialah kandungan terperinci Bagaimana untuk mengosongkan elemen bukan angka dalam tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!