PHP melaksanakan penapisan tatasusunan bagi nombor ganjil dan genap

WBOY
Lepaskan: 2023-05-20 12:33:09
asal
1030 orang telah melayarinya

Dalam pengaturcaraan PHP, kita selalunya perlu menapis tatasusunan, seperti menapis nombor ganjil atau genap dalam tatasusunan. Jadi dalam PHP, bagaimana untuk melaksanakan fungsi menapis nombor ganjil dan genap dalam tatasusunan? Artikel ini akan memperkenalkan dua kaedah untuk rujukan.

1. Gunakan untuk gelung untuk menapis tatasusunan

Menggunakan untuk gelung untuk menapis tatasusunan ialah kaedah yang paling asas. Kita boleh merentasi tatasusunan, gunakan pernyataan if untuk menentukan sama ada setiap elemen dalam tatasusunan adalah ganjil atau genap, dan kemudian simpan elemen yang memenuhi syarat ke dalam tatasusunan baharu.

Berikut ialah contoh kod:

// 定义原始数组
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// 定义新数组
$evenArr = array();  // 存储偶数
$oddArr = array();   // 存储奇数

// 循环遍历数组
for($i = 0; $i < count($arr); $i++){
  if($arr[$i] % 2 == 0){  // 判断是否是偶数
    $evenArr[] = $arr[$i];  // 存储偶数
  } else {
    $oddArr[] = $arr[$i];   // 存储奇数
  }
}

// 打印输出结果
echo "原数组:";
print_r($arr);
echo "<br />";
echo "偶数数组:";
print_r($evenArr);
echo "<br />";
echo "奇数数组:";
print_r($oddArr);
Salin selepas log masuk

Jalankan kod di atas, output adalah seperti berikut:

原数组:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
偶数数组:Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
奇数数组:Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )
Salin selepas log masuk

Seperti yang anda lihat, hasil larian adalah betul, malah nombor dan nombor ganjil telah berjaya ditapis keluar .

2. Gunakan fungsi terbina dalam PHP untuk menapis

PHP menyediakan banyak fungsi terbina dalam yang boleh beroperasi dengan mudah pada tatasusunan, dan penapisan tatasusunan tidak terkecuali. Antaranya, fungsi array_filter() boleh digunakan untuk menapis elemen tatasusunan Kaedah penggunaan adalah seperti berikut:

$newArr = array_filter($arr, function($n){
  return ($n % 2 == 0);  // 返回为真的元素,即偶数
});
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi tanpa nama sebagai parameter kedua array_filter. () fungsi, menggunakan $n Pembolehubah menggantikan setiap elemen dalam tatasusunan. Pernyataan pulangan dalam badan fungsi menentukan sama ada elemen itu adalah nombor genap Jika ia adalah nombor genap, ia mengembalikan benar, jika tidak ia mengembalikan palsu (iaitu, tiada tatasusunan baru ditambahkan). Akhir sekali, tatasusunan baru $newArr ialah tatasusunan genap yang ditapis.

Selain menggunakan fungsi tanpa nama, fungsi array_filter() juga boleh terus menggunakan fungsi panggil balik pratetap, seperti menggunakan fungsi panggil balik "is_odd" untuk menapis nombor ganjil:

function is_odd($n){
  return ($n % 2 == 1); // 返回为真的元素,即奇数
}

$newArr = array_filter($arr, "is_odd");
Salin selepas log masuk

Anda boleh menggunakan dua kaedah di atas dengan mudah melaksanakan operasi penapisan tatasusunan PHP. Sudah tentu, kod sampel di atas hanya untuk demonstrasi, dan aplikasi sebenar mungkin memerlukan operasi yang lebih fleksibel berdasarkan keadaan sebenar.

Atas ialah kandungan terperinci PHP melaksanakan penapisan tatasusunan bagi nombor ganjil dan genap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan