PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas untuk menulis aplikasi web dinamik. Salah satu jenis data yang biasa digunakan ialah tatasusunan, iaitu struktur data yang digunakan untuk menyimpan nilai yang serupa.
Dalam PHP, menanyakan elemen tatasusunan yang memenuhi kriteria adalah tugas biasa. Artikel ini akan meneroka cara untuk menanyakan elemen yang memenuhi kriteria dalam tatasusunan dalam PHP dan memberikan beberapa contoh praktikal.
Cara paling mudah ialah menggunakan gelung untuk melalui keseluruhan tatasusunan dan semak sama ada setiap elemen memenuhi kriteria. Berikut ialah contoh pertanyaan semua nombor genap dalam tatasusunan:
$numbers = array(1,2,3,4,5,6); $even_numbers = array(); foreach($numbers as $number){ if($number % 2 == 0){ $even_numbers[] = $number; } } print_r($even_numbers);
Ini akan mengeluarkan tatasusunan [2, 4, 6] kerana kod di atas hanya menambah nombor genap pada tatasusunan $even_numbers.
Jika anda ingin mencari syarat lain, seperti semua elemen yang lebih besar daripada 10 dalam tatasusunan, cuma ubah suai pernyataan bersyarat:
$numbers = array(9, 11, 15, 13, 7, 12); $large_numbers = array(); foreach($numbers as $number){ if($number > 10){ $large_numbers[] = $number; } } print_r($large_numbers);
Ini akan mengeluarkan tatasusunan [11, 15, 13, 12], Kerana kod di atas hanya menambah nombor yang lebih besar daripada 10.
Kaedah gelung adalah ringkas dan mudah difahami, tetapi ia mungkin mengambil masa yang lama jika tatasusunan adalah besar. Berikut ialah satu lagi kaedah yang lebih pantas.
Melalui fungsi array_filter
PHP, anda boleh menapis elemen dalam tatasusunan dan hanya mengembalikan elemen yang memenuhi syarat. Berikut ialah contoh yang mengembalikan semua elemen dalam tatasusunan yang lebih besar daripada 10:
$numbers = array(9, 11, 15, 13, 7, 12); $filtered_numbers = array_filter($numbers, function($number){ return $number > 10; }); print_r($filtered_numbers);
Kod ini akan mengeluarkan tatasusunan yang sama seperti contoh sebelumnya [11, 15, 13, 12].
Jika anda ingin menggunakan syarat lain, cuma ubah suai fungsi panggil balik:
$numbers = array(1,2,3,4,5,6); $filtered_numbers = array_filter($numbers, function($number){ return $number % 2 == 0; }); print_r($filtered_numbers);
Ini akan mengeluarkan tatasusunan yang sama [2, 4, 6] seperti contoh pertama.
Perlu diingat bahawa fungsi array_filter
menggunakan fungsi panggil balik yang membolehkan anda menyesuaikan keadaan penapisan. Ia juga berfungsi dengan tatasusunan berbilang dimensi.
Fungsi array_reduce
PHP akan melaksanakan fungsi panggil balik yang diberikan untuk memproses setiap elemen dalam tatasusunan. Biasanya, ia digunakan untuk menukar tatasusunan kepada satu nilai, tetapi juga boleh digunakan untuk menapis data tatasusunan. Berikut ialah contoh yang menggunakan fungsi array_reduce
untuk mengembalikan jumlah terkumpul semua elemen yang lebih besar daripada 10:
$numbers = [9, 11, 15, 13, 7, 12]; $sum = array_reduce($numbers, function($carry, $number){ if($number > 10){ return $carry + $number; } return $carry; }); print_r($sum);
Kod ini akan mengeluarkan 51
kerana hanya empat 11, 15,13, 12
nombor lebih besar daripada 10. Fungsi
array_reduce
juga fleksibel dan boleh digunakan dengan mana-mana fungsi.
Kesimpulan
Dalam PHP, terdapat banyak cara untuk menanyakan elemen tatasusunan. Sebenarnya banyak lagi cara lain untuk menyelesaikan masalah ini. Artikel ini menerangkan tiga kaedah utama: menggunakan gelung, menggunakan fungsi array_filter
dan menggunakan fungsi array_reduce
.
Gelung ialah kaedah yang mudah dan mudah. Kaedah ini adalah yang paling fleksibel, tetapi ia mungkin mengambil masa yang lebih lama jika tatasusunan adalah besar. Fungsi
array_filter
membolehkan anda dengan mudah menentukan syarat yang anda perlukan untuk mencari dan mengembalikan elemen yang sepadan dengan syarat. Ia juga boleh digunakan untuk mengendalikan tatasusunan berbilang dimensi dan kes khas lain. Fungsi
array_reduce
boleh digunakan dengan sebarang jenis tatasusunan dan sangat fleksibel. Ia biasanya digunakan untuk menukar tatasusunan kepada satu nilai.
Sebelum menggunakan kaedah ini, pastikan anda memahami kelebihan dan kekurangannya supaya anda boleh memilih kaedah yang betul dalam situasi yang berbeza.
Atas ialah kandungan terperinci Menyoal syarat dalam tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!