Rumah > pembangunan bahagian belakang > masalah PHP > Menyoal syarat dalam tatasusunan php

Menyoal syarat dalam tatasusunan php

王林
Lepaskan: 2023-05-19 18:54:39
asal
670 orang telah melayarinya

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.

  1. Pertanyaan menggunakan gelung

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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.

  1. Gunakan fungsi array_filter

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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.

  1. Menggunakan fungsi array_reduce

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);
Salin selepas log masuk

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!

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