Penggunaan fungsi CALLBACK pada PHP

Fungsi Callback

Fungsi callback (sering disebut hanya “callback”) adalah fungsi yang dikirimkan sebagai argumen ke fungsi lain.

Fungsi apa pun yang ada dapat digunakan sebagai fungsi callback. Untuk menggunakan fungsi sebagai fungsi callback, berikan string yang berisi nama fungsi sebagai argumen fungsi lain:

Contoh :

Meneruskan callback ke fungsi PHP array_map() untuk menghitung panjang setiap string dalam array:

<?php
function my_callback($item) {
  return strlen($item);
}

$strings = ["apple", "orange", "banana", "coconut"];
$lengths = array_map("my_callback", $strings);
print_r($lengths);
?>
  /* Output 
  Array
(
    [0] => 5
    [1] => 6
    [2] => 6
    [3] => 7
)
  /

Dimulai dengan versi PHP 7 maka dapat meneruskan fungsi anonim sebagai fungsi callback:

Contoh :

Gunakan fungsi anonim sebagai callback untuk fungsi array_map() PHP:

<?php
$strings = ["apple", "orange", "banana", "coconut"];
$lengths = array_map( function($item) { return strlen($item); } , $strings);
print_r($lengths);
?>
  /* Output 
  Array
(
    [0] => 5
    [1] => 6
    [2] => 6
    [3] => 7
)
  */

Callbacks di User Defined Functions

Fungsi dan metode yang ditentukan pengguna juga dapat menggunakan fungsi callback sebagai argumen. Untuk menggunakan fungsi callback di dalam fungsi atau metode yang ditentukan pengguna, panggil dengan menambahkan tanda kurung ke variabel dan berikan argumen seperti pada fungsi normal:

Contoh :

Jalankan callback dari fungsi yang ditentukan pengguna:

<?php
function exclaim($str) {
  return $str . "! ";
}

function ask($str) {
  return $str . "? ";
}

function printFormatted($str, $format) {
  // Memanggil fungsi callback $format
  echo $format($str);
}

// Berikan "exclaim" dan "ask" sebagai fungsi panggilan balik ke printFormatted ()
printFormatted("Hello world", "exclaim");
printFormatted("Hello world", "ask");
?>
  
  /*Output
  Hello world! Hello world?
  */

Belajar

Belajar memanfaatkan fungsi callback pada bahasa pemrograman PHP

Penggunaan fungsi CALLBACK pada PHP

Selamat malam,
Kali ini saya akan membagikan dan mendokumentasikan hasil belajar saya mengenai pemanfaatan PHP Higher-Order Function atau biasa dikenal sebagai callback.

Higher-Order Function adalah sebuah metode untuk memanggil function di dalam sebuah function. Fungsi array filter adalah salah satu contoh pemanfaatan dari Higher-Order Function.

<?php
// example code

$data = [1,2,3,4];

$result = array_filter($data, function ($dt) { return $dt%2 == 0; });

var_dump($result);

Jika melihat kode diatas, parameter kedua dari fungsi array_filter menerima sebuah nilai berupa function. Inilah yang disebut sebagai Higher-Order Function / callback. Untuk contoh pemanfaatannya mungkin seperti ini :

<?php

$siswa = ["Budi", "Slamet", "Bimo"];

function perkenalan (array $siswa, callable $callback) {
    foreach ($siswa as $sw) {
        echo $callback($sw) . PHP_EOL;
    }
}

function greetings($name) {
    return "Halo saya " . $name;
}

var_dump(perkenalan($siswa, 'greetings'));

atau jika ingin langsung menuliskan function nya kedalam parameter kedua juga bisa. Nanti akan seperti ini bentuknya :

<?php

$siswa = ["Budi", "Slamet", "Bimo"];

function perkenalan (array $siswa, callable $callback) {
    foreach ($siswa as $sw) {
        echo $callback($sw) . PHP_EOL;
    }
}

function greetings($name) {
    return "Halo saya " . $name;
}

var_dump(perkenalan($siswa, 'greetings'));

var_dump(perkenalan($siswa, function ($sw) { return "Hi aku " . $sw; }));

atau bisa juga memanggil callback menggunakan helper call_user_func atau call_user_func_array

echo call_user_func('greetings', $siswa[0]);

var_dump(call_user_func_array('greetings', $siswa));

Mungkin sekian dari saya. Terima kasih.

Fungsi callback (umum seharusnya seluruhnya “callback”) adalah Kegunaan yang dikirimkan sebagai perdebatan langsung ke Kegunaan lagi.

Fungsi apa pun yang ada dapat digunakan sebagai Kegunaan callback. Untuk menggunakan Kegunaan sebagai Kegunaan callback, menawarkan tali yang berisi bagian Kegunaan sebagai perdebatan Kegunaan lagi:

Contoh :

Meneruskan callback langsung ke Kegunaan PHP array_map() untuk menghitung durasi setiap tali sangat array:

<?php
perform my_callback($merchandise) {
  return strlen($merchandise);
}

$strings = ["apple", "orange", "banana", "coconut"];
$lengths = array_map("my_callback", $strings);
print_r($lengths);
?>
  /* Output 
  Array
(
    [0] => 5
    [1] => 6
    [2] => 6
    [3] => 7
)
  /

Dimulai bersama versi PHP 7 akibatnya dapat meneruskan Kegunaan dirahasiakan sebagai Kegunaan callback:

Contoh :

Gunakan Kegunaan dirahasiakan sebagai callback untuk Kegunaan array_map() PHP:

<?php
$strings = ["apple", "orange", "banana", "coconut"];
$lengths = array_map( perform($merchandise) { return strlen($merchandise); } , $strings);
print_r($lengths);
?>
  /* Output 
  Array
(
    [0] => 5
    [1] => 6
    [2] => 6
    [3] => 7
)
  */

Callbacks di User Defined Functions

Fungsi dan teknik yang ditentukan konsumen tambahan dapat menggunakan Kegunaan callback sebagai perdebatan. Untuk menggunakan Kegunaan callback di sangat Kegunaan atau bahkan teknik yang ditentukan konsumen, panggil bersama menambahkan indikator kurung langsung ke berubah-ubah dan menawarkan perdebatan seperti pada Kegunaan regular:

Contoh :

Jalankan callback berasal dari Kegunaan yang ditentukan konsumen:

<?php
perform exclaim($str) {
  return $str . "! ";
}

perform ask($str) {
  return $str . "? ";
}

perform printFormatted($str, $tata letak) {
  // Memanggil Kegunaan callback $tata letak
  echo $tata letak($str);
}

// Berikan "exclaim" dan "ask" sebagai Kegunaan panggilan telepon balik langsung ke printFormatted ()
printFormatted("Hello world", "exclaim");
printFormatted("Hello world", "ask");
?>
  
  /*Output
  Hello world! Hello world?
  */

Anda sederhana menonton: Fungsi Callback di PHP – Kode dan Contohnya

Sumber: https://taylorswift10years.com

Kategori: Teknologi