⊗ppSpFnCb 11 of 83 menu

Funções de Callback em PHP

Callback é uma função que é passada como parâmetro para outra função.

Vamos ver um exemplo. Suponha que temos uma função que recebe um número como primeiro parâmetro, e um callback como segundo parâmetro:

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

Vamos fazer com que dentro da função nosso callback seja chamado para o número passado:

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

Agora vamos ver quais são as opções para passar um callback para nossa função.

Opção 1

Nosso callback pode ser uma função comum:

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

Neste caso, como callback passamos o nome da nossa função:

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

Dentro da função func nosso callback será chamado pelo nome.

Opção 2

Nosso callback pode ser uma função anônima, atribuída a uma variável:

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

Neste caso, passamos como parâmetro a variável com nossa função:

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

Opção 3

Podemos passar a função anônima diretamente como parâmetro:

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

Opção 4

Podemos encurtar o código usando uma arrow function:

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

Problemas Práticos

Dada uma função que recebe como parâmetro um array e um callback, que será aplicado a cada elemento do array:

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

Chame esta função, passando como parâmetro um array com números e um callback que eleva o número passado ao quadrado.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar