« Ritorna al blog
Ritorna alla lista completa degli articoli
Mettiti alla prova: esercizio semplice sugli array
PHP - SFIDE - settembre 30, 2021Creare una funzione in PHP, denominata check_capacity(), che rispetti le seguenti funzionalità:
- La funzione deve manipolare o confrontare solo valori interi;
- Se il numero dei partecipanti è inferiore ai posti disponibili o alla capacità consentita la funzione dovrà restituire il messaggio: "Biglietti ancora disponibili";
- Se il numero dei partecipanti è uguale ai posti disponibili o alla capacità consentita la funzione dovrà restituire il messaggio: "L'evento è sold out";
- Se il numero dei partecipanti e maggiore ai posti disponibili o alla capacità consentita la funzione dovrà restituire il messaggio: "L'evento è sold out. Sono da rimborsare (refund) [x] biglietti";
- Stampare un riepilogo del risultato per ogni evento;
Note:
Ogni evento (event) racchiude le seguenti informazioni:
- La capacità disponibile (capacity)
- Numero di partecipanti (attendees)
// Array: key => [capacity, attendees];
$events = array(
'Evento A' => [90, 20],
'Evento B' => [60, 60],
'Evento C' => [58, 200],
'Evento D' => [38, 200],
'Evento E' => [4, 0],
);
Il file iniziale in PHP è il seguente:
<?php
// Verifica lo stato di un evento ed eventuali rimborsi.
function check_capacity( $capacity, $attendees = 0 ) {
// da completare
}
// Array di Dati <==> Array: key => [capacity, attendees];
// capacity = capacità disponibile o posti a sedere
// attendees = numero di partecipanti
$events = array(
'Evento A' => [90, 20],
'Evento B' => [60, 60],
'Evento C'=> [58, 60],
'Evento D' => [38, 200],
'Evento E' => [4, 0],
);
// Stampa il riepilogo
foreach ( $events as $name => $numbers ) {
// da completare
}
?>
Si prega di completare le parti dove è scritto da completare rispettando il seguente output:
// Output
/*
Evento A - Biglietti ancora diponibili.
Evento B - L'evento è sold out.
Evento C - L'evento è sold out. Da rimborsare 2 biglietti.
Evento D - L'evento è sold out. Da rimborsare 162 biglietti.
Evento E - Biglietti ancora diponibili.
*/
Per poter vedere la soluzione devi essere un utente registrato.
Soluzione all'esercizio:
<?php
// Verifica lo stato di un evento ed eventuali rimborsi.
function check_capacity( $capacity, $attendees = 0 ) {
if ( $attendees < $capacity ) {
return "Biglietti ancora diponibili.";
} else if($attendees == $capacity){
return "L'evento è sold out.";
} else {
$refund = $attendees - $capacity;
return "L'evento è sold out. Da rimborsare $refund biglietti.";
}
}
// Array di Dati <==> Array: key => [capacity, attendees];
// capacity = capacità disponibile o posti a sedere
// attendees = numero di partecipanti
$events = array(
'Evento A' => [90, 20],
'Evento B' => [60, 60],
'Evento C'=> [58, 60],
'Evento D' => [38, 200],
'Evento E' => [4, 0],
);
// Stampa il riepilogo
foreach ( $events as $name => $numbers ) {
echo $name . ' - ' . check_capacity($numbers[0], $numbers[1]) . '<br/>';
}
?>