Apa perbedaan antara metode array_map(), array_walk() dan array_filter() di PHP?

array_map() Metode: Itu array_peta() digunakan untuk memodifikasi semua elemen dalam satu atau lebih array menurut beberapa kondisi yang ditentukan pengguna dengan cara yang mudah. Ini pada dasarnya mengirimkan setiap elemen array ke fungsi yang ditentukan pengguna dan mengembalikan array dengan nilai baru yang dimodifikasi oleh fungsi itu.

Sintaksis:

array_map(functionName, arr1, arr2...)

Parameter: Fungsi ini membutuhkan 2 parameter wajib nama fungsi dan arr1 dan sisanya opsional.

  • namafungsi(wajib): Parameter ini mendefinisikan nama fungsi yang ditentukan pengguna yang dengannya nilai-nilai dalam array akan dimodifikasi.
  • arr1(wajib): Parameter ini menentukan array yang akan dimodifikasi.
  • arr2(wajib): Parameter ini menentukan array yang akan dimodifikasi.

Itu nama fungsi parameter adalah wajib dan kita bisa melewatkan sejumlah array ke fungsi ini bernama arr1, arr2, …, arrn, dan seterusnya.

Nilai Kembali: Fungsi ini mengembalikan array yang berisi semua elemen arr1 setelah menerapkan fungsi pengguna ke masing-masing elemen.

Contoh: Contoh di bawah ini menggambarkan cara kerja array_peta() fungsi dalam PHP.

PHP

<?php

 

function fun1($v) {

      return ($v + 7);    

}

 

function fun2($v1, $v2) {

    if ($v1 == $v2) return 1;    

    else return 0;

}

 

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

$arr2 = array(1, 3, 3, 4, 8);

 

print_r(array_map("fun1", $arr1));

 

print_r(array_map("fun2", $arr1, $arr2));

 

?>

Keluaran:

Array
(
    [0] => 8
    [1] => 9
    [2] => 10
    [3] => 11
    [4] => 12
)
Array
(
    [0] => 1
    [1] => 0
    [2] => 1
    [3] => 1
    [4] => 0
)

array_walk() Metode: Itu lari_jalan() metode berjalan melalui seluruh array terlepas dari posisi pointer dan menerapkan fungsi panggilan balik atau fungsi yang ditentukan pengguna ke setiap elemen array. Kunci dan nilai elemen array adalah parameter dalam fungsi panggilan balik.

Sintaksis:

boolean array_walk($array, myFunction, $extraParam)

Parameter: Fungsi ini menerima tiga parameter seperti yang dijelaskan di bawah ini.

  • $array: Ini adalah parameter wajib dan menentukan array input.
  • fungsi saya: Parameter ini menentukan nama fungsi yang ditentukan pengguna dan juga wajib. Fungsi yang ditentukan pengguna umumnya mengecualikan dua parameter di mana parameter pertama mewakili nilai array dan parameter kedua mewakili kunci yang sesuai.
  • $ekstraparam: Ini adalah parameter opsional. Ini menentukan parameter tambahan untuk fungsi yang ditentukan pengguna selain dua parameter, kunci array, dan nilai.

Nilai Kembali: Fungsi ini mengembalikan nilai boolean. Ini mengembalikan TRUE pada keberhasilan atau FALSE pada kegagalan.

Contoh: Contoh di bawah ini menggambarkan lari_jalan() metode.

PHP

<?php

 

function myfunction($value, $key) {

    echo "The key $key has the value $value </br>";

}

 

$arr = array(

      "a" => "yellow"

      "b" => "pink"

      "c" => "purple"

);

 

array_walk($arr, "myfunction");

 

?>

Keluaran:

The key a has the value yellow 
The key b has the value pink 
The key c has the value purple

array_filter() Metode: Metode ini digunakan untuk memfilter elemen array menggunakan fungsi yang ditentukan pengguna yang juga disebut fungsi panggilan balik. Itu array_filter() function mengulangi setiap nilai dalam array, meneruskannya ke fungsi yang ditentukan pengguna atau fungsi panggilan balik. Jika fungsi panggilan balik mengembalikan nilai true maka nilai larik saat ini dikembalikan ke larik hasil jika tidak. Kunci larik dipertahankan, yaitu kunci elemen dalam larik asli dan larik keluaran adalah sama.

Sintaksis:

array array_filter($array, $callback_function, $flag)

Parameter: Fungsi mengambil tiga parameter, yang satu wajib dan dua lainnya opsional.

  • $array (wajib): Ini mengacu pada larik input di mana operasi filter akan dilakukan.
  • $callback_function (opsional): Mengacu pada fungsi yang ditentukan pengguna. Jika fungsi tidak diberikan maka semua entri array yang sama dengan FALSE akan dihapus.
  • $flag (opsional): Mengacu pada argumen yang diteruskan ke fungsi panggilan balik.
    • ARRAY_FILTER_USE_KEY – meneruskan kunci sebagai satu-satunya argumen ke fungsi panggilan balik, bukan nilai larik.
    • ARRAY_FILTER_USE_BOTH – meneruskan nilai dan kunci sebagai argumen ke callback alih-alih nilai.

Nilai Kembali: Fungsi mengembalikan array yang difilter.

Contoh: Di bawah ini adalah program yang menunjukkan cara mengembalikan atau memfilter elemen genap dari array menggunakan array_filter() fungsi.

PHP

<?php

 

function Even($array) {

   

    

    if($array % 2 == 0)

        return TRUE;

    else

        return FALSE;

}

 

$array = array(12, 0, 0, 18, 27, 0, 46);

print_r(array_filter($array, "Even"));

 

?>

Keluaran:

Array
(
    [0] => 12
    [1] => 0
    [2] => 0
    [3] => 18
    [5] => 0
    [6] => 46
)

Perbedaan:

array_peta() array_jalan () array_filter()
Fungsi ini menerapkan panggilan balik ke elemen yang ada dalam array. Fungsi ini menerapkan fungsi panggilan balik yang ditentukan pengguna ke setiap elemen larik input yang diberikan. Fungsi ini digunakan untuk memfilter elemen yang ada dalam array menggunakan fungsi panggilan balik.
Fungsi callback array_map() ini berjalan untuk setiap elemen di setiap array. fungsi array_walk() menerapkan fungsi yang disediakan pengguna untuk setiap anggota array Array_filter() mengulangi setiap nilai dalam array yang meneruskannya ke fungsi panggilan balik