Bila hendak menggunakan array_map, array_walk dan array_filter dalam PHP?

Barbara Streisand
Lepaskan: 2024-10-28 09:52:02
asal
866 orang telah melayarinya

 When to Use array_map, array_walk, and array_filter in PHP?

Menjelaskan Perbezaan antara array_map, array_walk dan array_filter

Fungsi tatasusunan dalam PHP menyediakan cara mudah untuk memanipulasi tatasusunan. Antaranya, array_map, array_walk dan array_filter biasanya digunakan. Walaupun mereka berkongsi persamaan, terdapat perbezaan utama dalam tingkah laku mereka.

Gambaran Keseluruhan Fungsi

  • array_map: Menggunakan fungsi panggil balik pada setiap elemen tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi keputusan.
  • array_walk: Menggunakan fungsi panggil balik pada setiap elemen tatasusunan dan mengemas kini tatasusunan asal di tempatnya.
  • array_filter: Mengalih keluar elemen daripada tatasusunan berdasarkan fungsi panggil balik, mengembalikan tatasusunan baharu yang mengandungi hanya elemen yang melepasi syarat.

Perbezaan Utama

  • Pengubahsuaian Tatasusunan: array_walk mengubah suai tatasusunan asal, manakala array_map tidak.
  • Akses Utama: array_walk membenarkan akses kepada kekunci tatasusunan dalam fungsi panggil balik, manakala array_map tidak.
  • Nilai Pulangan: array_map mengembalikan tatasusunan baharu, manakala array_walk mengembalikan benar. array_filter juga mengembalikan tatasusunan baharu, tetapi hanya mengandungi elemen yang ditapis.
  • Lelaran: array_map boleh lelaran ke atas berbilang tatasusunan serentak, manakala array_walk hanya berulang pada satu tatasusunan.
  • Pelulusan Data Arbitrari: array_walk boleh menerima parameter tambahan untuk dihantar ke panggilan balik, pilihan yang diperkenalkan dalam PHP 5.3.
  • Panjang Tatasusunan Dikembalikan: tatasusunan terhasil array_map sepadan dengan panjang tatasusunan input terbesar, manakala tatasusunan array_walk tidak mengubah panjang. array_filter mengembalikan tatasusunan yang sepadan dengan panjang elemen yang ditapis.

Contoh Ilustrasi

<code class="php">$a = [2.4, 2.6, 3.5];

// array_map
$b = array_map('floor', $a); // $a remains unchanged
print_r($b); // Output: [2, 2, 3]

// array_walk
array_walk($a, 'floor'); // Modifies $a
print_r($a); // Output: [2, 2, 3]

// array_filter
$c = array_filter($a, fn($v) => $v > 2.5); // Filter elements
print_r($c); // Output: [2.6, 3.5]</code>
Salin selepas log masuk

Kesimpulannya, array_map, array_walk dan array_filter masing-masing mempunyai peranan khusus dalam manipulasi tatasusunan. Memahami perbezaan mereka membolehkan pembangun memilih fungsi yang paling sesuai untuk tugas mereka.

Atas ialah kandungan terperinci Bila hendak menggunakan array_map, array_walk dan array_filter dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!