Dalam artikel sebelum ini, kami telah memperkenalkan penebusan tatasusunan dan penyahduplikasian, iaitu kaedah memadam elemen kosong dan elemen pendua dalam tatasusunan Jika anda berminat, anda boleh klik pada pautan untuk membaca → " Bagaimana untuk membuang kosong dalam pembelajaran tatasusunan PHP Atau elemen berulang 》. Kali ini kami terus belajar dan mengamalkan tatasusunan PHP dan bercakap tentang cara menapis tatasusunan dan mengekstrak elemen angka.
→Cadangan berkaitan: 《 Ringkasan siri pembelajaran tatasusunan PHP (terus dikemas kini~)》
Kandungan utama artikel hari ini ialah: menggunakan PHP untuk menapis tatasusunan, tapis elemen berangka (nilai angka atau rentetan angka), dan kemudian gabungkannya ke dalam tatasusunan baharu dan kembalikannya.
Di bawah ini kami akan memperkenalkan dua kaedah pelaksanaan kepada anda, bermula dengan kaedah biasa "gelung foreach", dan kemudian memperkenalkan kaedah menapis tatasusunan menggunakan fungsi terbina dalam PHP.
Kaedah 1: Gunakan pernyataan foreach
<?php $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); foreach($array as $value){ if(is_numeric($value)){ $result[]=$value; } } var_dump($result); ?>
untuk menganalisis kod:
Gunakan pernyataan foreach untuk melintasi tatasusunan, dalam setiap Dalam gelung kedua, tetapkan nilai kunci kepada $value
;
gunakan fungsi is_numeric()
untuk mengesan sama ada $value
ialah nombor atau rentetan angka;
Jika ia adalah nombor atau rentetan nombor, simpan $value
dalam tatasusunan $results
.
Dengan cara ini, semua elemen angka dalam tatasusunan $results ialah elemen angka dalam tatasusunan $array Menggunakan var_dump($result)
, hasil keluarannya ialah:
Kaedah 2: Gunakan fungsi array_filter()
Dalam artikel sebelum ini, kita sudah tahu bahawa fungsi array_filter() boleh digunakan fungsi panggil balik untuk menapis elemen dalam tatasusunan Lulus elemen tatasusunan kepada fungsi panggil balik untuk diproses.
Berikan kod pelaksanaan secara langsung:
<?php $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); function filter_number($value){ if(is_numeric($value)){ return TRUE; } } $result=array_filter($array,"filter_number"); var_dump($result); ?>
Hasil output ialah:
Mari kita lihat array_filter() function
array_filter() function akan mengulangi setiap nilai dalam tatasusunan dan menghantar setiap nilai kunci kepada fungsi yang ditetapkan pengguna atau fungsi panggil balik jika fungsi panggil balik kembali benar, nilai kunci semasa dalam tatasusunan input akan menjadi dikembalikan kepada hasil Array (nama kunci array kekal tidak berubah). Format sintaks ialah:
array_filter ($array , function callbackfn ($value[, $key]),$mode)
$array: objek tatasusunan, tidak boleh ditinggalkan.
function callbackfn ($value[, $key])
: fungsi panggil balik, yang boleh diabaikan; jika fungsi panggil balik diabaikan, nilai nol akan ditapis secara lalai.
$mode: boleh ditinggalkan, tentukan borang parameter yang diterima oleh panggilan balik:
ARRAY_FILTER_USE_KEY - panggil balik menerima nama kunci sebagai satu-satunya parameter
ARRAY_FILTER_USE_BOTH - panggil balik menerima kedua-dua nama kunci dan nilai kunci
Nilai lalai ialah 0 dan hanya nilai yang diluluskan sebagai satu-satunya parameter panggilan balik panggilan balik.
Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik di sini. → →Tutorial video php
Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP: Penjelasan video fungsi tatasusunan fungsi PHP, datang dan pelajari!
Atas ialah kandungan terperinci Pembelajaran tatasusunan PHP: ekstrak elemen digital dan sambungkannya ke dalam tatasusunan baharu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!