Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah `array_map`, `array_walk` dan `array_filter` Berbeza dalam Teknik Manipulasi Tatasusunan mereka?
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 (&$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>
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!