Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah `array_map`, `array_walk` dan `array_filter` Berbeza dalam Teknik Manipulasi Tatasusunan mereka?

Bagaimanakah `array_map`, `array_walk` dan `array_filter` Berbeza dalam Teknik Manipulasi Tatasusunan mereka?

Barbara Streisand
Lepaskan: 2024-11-03 04:22:03
asal
970 orang telah melayarinya

 How Do `array_map`, `array_walk`, and `array_filter` Differ in Their Array Manipulation Techniques?

Peranan Berbeza: array_map, array_walk dan array_filter

Manakala array_map, array_walk dan array_filter semuanya melibatkan penghantaran fungsi panggil balik untuk beroperasi pada tatasusunan, ia berbeza dalam fungsi terasnya.

peta_susun cemerlang dalam mengubah elemen tatasusunan. Ia memetakan output panggil balik ke tatasusunan baharu yang sama panjangnya dengan tatasusunan input terbesar. Tidak seperti array_walk, array_map mengekalkan nilai tatasusunan asal tidak berubah.

array_walk pakar dalam mengubah suai elemen tatasusunan di tempat. Ia berulang pada tatasusunan, menggunakan panggilan balik untuk setiap elemen dan membenarkan akses kunci. array_walk mengubah tatasusunan input secara langsung, tiada peta tatasusunan ciri.

penapis_tatasusunan secara terpilih mengekalkan elemen berdasarkan semakan kebenaran panggilan balik. Ia memangkas tatasusunan input, mencipta yang baharu yang mengandungi hanya elemen yang melepasi penapis. array_filter mengekalkan kunci, tidak seperti array_map, tetapi tidak seperti array_walk, ia tidak mengubah suai tatasusunan asal.

Contoh:

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

$mapResult = array_map('floor', $array); // Stays the same
print_r($mapResult); // [2, 2, 3]

array_walk($array, function (&amp;$v, $k) { $v = floor($v); }); // Alters the array
print_r($array);  // [2, 2, 3]

$filterResult = array_filter($array, function ($v) { return $v > 2.5; }); // Preserves keys
print_r($filterResult); // [2.6, 3.5]</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah `array_map`, `array_walk` dan `array_filter` Berbeza dalam Teknik Manipulasi Tatasusunan mereka?. 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