Apa fungsi array_map(), array_reduce() dan array_walk() di PHP?

Pada artikel ini, kita akan melihat fungsi array_map(), array_reduce(), dan array_walk() di PHP. Kita akan melihat bagaimana fungsi-fungsi ini bekerja bersama dengan memahami implementasi dasarnya melalui contoh-contoh.

array_map() Fungsi: Itu array_peta() function mengembalikan array yang berisi hasil penerapan callback ke setiap nilai array yang digunakan sebagai argumen untuk callback. Dengan kata sederhana, fungsi array_map() mengirimkan setiap nilai array ke fungsi pengguna dan mengembalikan array dengan nilai baru. Ini sangat berguna ketika Anda ingin melakukan operasi tertentu pada setiap elemen array. Jika Anda ingin melakukan tindakan spesifik pada setiap elemen array daripada mengulangi setiap elemen array, lebih baik menggunakan array_peta() fungsi yang dibangun untuk ini. Sebuah array_peta() function mengembalikan array yang berisi hasil penerapan fungsi callback di atas array.

Sintaksis:

array_map(function_name, array1, array2, array3, ...)

Parameter:

  • nama_fungsi: Fungsi yang dapat dipanggil untuk diterapkan ke setiap elemen di setiap larik.
  • array1: Ini adalah larik elemen tempat fungsi panggilan balik berlaku.

Catatan: Kami dapat mengirim beberapa array dalam fungsi array_map() .

Contoh: Dalam contoh ini, kita menghitung kuadrat setiap elemen dalam array menggunakan fungsi array_map().

PHP

<?php

  function square($n) {

    return ($n * $n);

  }

 

  $a = [1, 2, 3, 4, 5];

  $b = array_map('square', $a);

  print_r($b);

?>

Keluaran:

Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

array_reduce() Metode: Seperti namanya, an array_reduksi() function mengurangi array menjadi nilai tunggal dengan melakukan operasi yang diberikan. Array_reduce() menerapkan fungsi callback ke elemen array dan memberikan output sebagai nilai tunggal. Fungsi ini diperkenalkan di PHP 4.0.5.

Sintaksis:

array_reduce(array, myfunction, initial)

Parameter:

  • Himpunan: Ini adalah array input yang akan direduksi menjadi satu nilai.
  • fungsi saya: Ini adalah fungsi panggilan balik yang menentukan bagaimana array harus dikurangi.
  • awal: Ini adalah nilai opsional yang akan digunakan di awal proses, atau sebagai hasil akhir jika array kosong.

Contoh: Dalam contoh, kita mendapatkan penambahan array sebagai variabel tunggal.

PHP

<?php  

  function add($num1, $num2) {

    $num1 += $num2;  

    return $num1;  

  }  

  $a = array(1, 2, 3, 4, 5, 6);  

  $num1 = array_reduce($a, "add");  

  echo $num1;

?>

Keluaran:

21

array_walk() Metode: Ini menerapkan fungsi yang ditentukan pengguna untuk setiap anggota array. Kunci dan nilai array adalah parameter dalam fungsi. Fungsi array_walk() tidak terpengaruh oleh pointer array internal dari array. Ini akan melintasi semua elemen. Array_map() tidak dapat beroperasi dengan kunci array, sedangkan fungsi array_walk() dapat bekerja dengan pasangan nilai kunci.

Sintaksis:

array_walk(array, myfunction, parameter...)

Parameter:

  • Himpunan: Array masukan.
  • fungsi saya: Nama fungsi
  • parameter: Menentukan parameter untuk fungsi yang ditentukan pengguna. Anda dapat menetapkan beberapa parameter.

Contoh:

PHP

<?php  

  function myfunction($value,$key) {  

    echo "Geeksforgeeks $key is about $value n";  

  }  

  $articles = array(

    "article-1" => "HTML",

    "article-2" => "CSS",

    "article-3" => "PHP"

  );  

   

  array_walk($articles,"myfunction");  

?>

Keluaran:

Geeksforgeeks article-1 is about HTML 
Geeksforgeeks article-2 is about CSS 
Geeksforgeeks article-3 is about PHP