🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

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
?>