Esercizi Funzioni di Callback PHP
Codegrind Team•Jul 22 2023
Ecco degli esercizi semplici con soluzione per praticare l’utilizzo delle funzioni di callback in PHP.
Esercizio 1
Scrivi un codice PHP che utilizza una funzione di callback per eseguire un'operazione matematica.
<?php
function operazioneMatematica($numero1, $numero2, $callback) {
return $callback($numero1, $numero2);
}
$somma = function($a, $b) {
return $a + $b;
};
echo operazioneMatematica(5, 3, $somma); // Output: 8
?>
Esercizio 2
Scrivi un codice PHP che utilizza una funzione di callback per eseguire una manipolazione su un array.
<?php
function manipolaArray($array, $callback) {
return $callback($array);
}
$double = function($arr) {
$result = [];
foreach ($arr as $value) {
$result[] = $value * 2;
}
return $result;
};
$numbers = [1, 2, 3, 4, 5];
$result = manipolaArray($numbers, $double);
print_r($result); // Output: Array([0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10)
?>
Esercizio 3
Scrivi un codice PHP che utilizza una funzione di callback per filtrare un array.
<?php
function filtraArray($array, $callback) {
return array_filter($array, $callback);
}
$even = function($value) {
return $value % 2 === 0;
};
$numbers = [1, 2, 3, 4, 5];
$result = filtraArray($numbers, $even);
print_r($result); // Output: Array([1] => 2 [3] => 4)
?>
Esercizio 4
Scrivi un codice PHP che utilizza una funzione di callback per ordinare un array.
<?php
function ordinaArray($array, $callback) {
usort($array, $callback);
return $array;
}
$compare = function($a, $b) {
return $a - $b;
};
$numbers = [5, 2, 4, 1, 3];
$result = ordinaArray($numbers, $compare);
print_r($result); // Output: Array([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)
?>
Esercizio 5
Scrivi un codice PHP che utilizza una funzione di callback per eseguire un'azione su ogni elemento di un array.
<?php
function elaboraArray($array, $callback) {
foreach ($array as $element) {
$callback($element);
}
}
$print = function($value) {
echo $value . ' ';
};
$numbers = [1, 2, 3, 4, 5];
elaboraArray($numbers, $print); // Output: 1 2 3 4 5
?>
Esercizio 6
Scrivi un codice PHP che utilizza una funzione di callback per eseguire una validazione su una stringa.
<?php
function validaStringa($string, $callback) {
return $callback($string);
}
$lengthCheck = function($str) {
return strlen($str) >= 5;
};
$string = 'hello';
$result = validaStringa($string, $lengthCheck);
echo $result ? 'La stringa è valida' : 'La stringa non è valida'; // Output: La stringa è valida
?>
Esercizio 7
Scrivi un codice PHP che utilizza una funzione di callback per calcolare la somma di una serie di numeri.
<?php
function calcolaSomma($numbers, $callback) {
return array_reduce($numbers, $callback);
}
$sum = function($carry, $value) {
return $carry + $value;
};
$numbers = [1, 2, 3, 4, 5];
$result = calcolaSomma($numbers, $sum);
echo $result; // Output: 15
?>
Esercizio 8
Scrivi un codice PHP che utilizza una funzione di callback per trasformare una stringa.
<?php
function trasformaStringa($string, $callback) {
return $callback($string);
}
$uppercase = function($str) {
return strtoupper($str);
};
$string = 'ciao';
$result = trasformaStringa($string, $uppercase);
echo $result; // Output: CIAO
?>
Esercizio 9
Scrivi un codice PHP che utilizza una funzione di callback per calcolare il massimo valore in un array.
<?php
function calcolaMassimo($array, $callback) {
return max($array, $callback);
}
$square = function($value) {
return $value * $value;
};
$numbers = [1, 2, 3, 4, 5];
$result = calcolaMassimo($numbers, $square);
echo $result; // Output: 25
?>
Esercizio 10
Scrivi un codice PHP che utilizza una funzione di callback per eseguire un'azione su ogni elemento di un array associativo.
<?php
function elaboraArrayAssociativo($array, $callback) {
foreach ($array as $key => $value) {
$callback($key, $value);
}
}
$printKeyValue = function($key, $value) {
echo "$key: $value ";
};
$data = ['nome' => 'Mario', 'cognome' => 'Rossi', 'etĂ ' => 30];
elaboraArrayAssociativo($data, $printKeyValue); // Output: nome: Mario cognome: Rossi etĂ : 30
?>