⊗ppSpFnCb 11 of 83 menu

Fungsi Callback di PHP

Callback adalah fungsi, yang diteruskan sebagai parameter ke fungsi lain.

Mari kita lihat sebuah contoh. Misalkan kita memiliki fungsi yang parameter pertamanya menerima angka, dan parameter kedua - sebuah callback:

<?php function func($num, $calb) { } ?>

Mari kita buat agar di dalam fungsi callback kita dipanggil untuk angka yang diteruskan:

<?php function func($num, $calb) { echo $calb($num); } ?>

Sekarang mari kita lihat, apa saja opsi untuk meneruskan callback ke fungsi kita.

Opsi 1

Callback kita bisa berupa fungsi biasa:

<?php function calb($num) { return $num ** 2; } ?>

Dalam hal ini sebagai callback kita akan meneruskan nama fungsi kita:

<?php func(3, 'calb'); ?>

Di dalam fungsi func callback kita akan dipanggil berdasarkan namanya.

Opsi 2

Callback kita bisa berupa fungsi anonim, yang disimpan dalam variabel:

<?php $calb = function($num) { return $num ** 2; }; ?>

Dalam hal ini kita meneruskan variabel yang berisi fungsi kita sebagai parameter:

<?php func(3, $calb); ?>

Opsi 3

Kita bisa meneruskan fungsi anonim langsung sebagai parameter:

<?php func(3, function($num) { return $num ** 2; }); ?>

Opsi 4

Kita bisa mempersingkat kode dengan menggunakan fungsi panah:

<?php func(3, fn($num) => $num ** 2); ?>

Soal Praktis

Diberikan sebuah fungsi, yang parameternya menerima array dan sebuah callback, yang akan diterapkan pada setiap elemen array:

<?php function func($arr, $calb) { $res = []; foreach ($arr as $elem) { $res[] = $calb($elem); } return $res; } ?>

Panggil fungsi ini, dengan meneruskan sebagai parameter array berisi angka-angka dan sebuah callback, yang memangkatkan angka yang diteruskan menjadi kuadrat.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak