Rumah > pembangunan bahagian belakang > tutorial php > Bila hendak menggunakan array_map, array_walk dan array_filter dalam PHP?

Bila hendak menggunakan array_map, array_walk dan array_filter dalam PHP?

Barbara Streisand
Lepaskan: 2024-10-28 09:52:02
asal
998 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!

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