📦 Aggiungere e Rimuovere Elementi con array_push() e array_pop() in PHP
Le funzioni array_push() e array_pop() permettono di gestire la fine di un array aggiungendo o rimuovendo elementi.
Sono particolarmente usate per creare strutture di tipo stack (pila), dove gli elementi vengono inseriti e rimossi “dall’alto”.
1. La funzione array_push()
Aggiunge uno o più elementi alla fine di un array. Ritorna il nuovo numero totale di elementi.
array_push($array, $valore1, $valore2, ...);
- $array → l’array a cui aggiungere i valori.
- $valore1, $valore2, ... → i valori da aggiungere in coda.
- Ritorna: il numero di elementi totali dopo l’inserimento.
2. Esempio pratico di array_push()
<?php
$frutti = ["Mela", "Banana"];
array_push($frutti, "Arancia", "Pera");
print_r($frutti);
?>
Array
(
[0] => Mela
[1] => Banana
[2] => Arancia
[3] => Pera
)
Gli elementi "Arancia" e "Pera" sono stati aggiunti in fondo all’array.
3. La funzione array_pop()
Rimuove l’ultimo elemento di un array e lo restituisce.
Se l’array è vuoto, restituisce NULL.
array_pop($array);
- $array → l’array da cui rimuovere l’ultimo elemento.
- Ritorna: il valore dell’elemento rimosso.
4. Esempio pratico di array_pop()
<?php
$frutti = ["Mela", "Banana", "Arancia"];
$ultimo = array_pop($frutti);
echo "Elemento rimosso: " . $ultimo . "<br>";
print_r($frutti);
?>
Elemento rimosso: Arancia
Array
(
[0] => Mela
[1] => Banana
)
L’ultimo elemento (Arancia) è stato rimosso e restituito.
5. Esempio combinato (Stack)
Insieme, queste funzioni simulano una pila (stack): il primo elemento inserito è l’ultimo a essere rimosso (LIFO = Last In, First Out).
<?php
$stack = [];
array_push($stack, "Primo");
array_push($stack, "Secondo");
array_push($stack, "Terzo");
echo "Array dopo push:<br>";
print_r($stack);
$estratto = array_pop($stack);
echo "<br>Elemento rimosso: $estratto<br>";
echo "Array finale:<br>";
print_r($stack);
?>
Array dopo push:
Array
(
[0] => Primo
[1] => Secondo
[2] => Terzo
)
Elemento rimosso: Terzo
Array finale:
Array
(
[0] => Primo
[1] => Secondo
)
6. Differenze con funzioni simili
| Funzione | Effetto | Agisce su |
|---|---|---|
| array_push() | Aggiunge alla fine | Fine dell’array |
| array_pop() | Rimuove dalla fine | Fine dell’array |
| array_unshift() | Aggiunge all’inizio | Inizio dell’array |
| array_shift() | Rimuove dall’inizio | Inizio dell’array |
LABORATORIO
Gestire una pila (stack) con array_push() e array_pop()
In questo laboratorio imparerai ad aggiungere e rimuovere elementi da un array, simulando una pila di dati (LIFO – Last In, First Out).
- Editor PHP (VS Code, Notepad++)
- Server locale (XAMPP, MAMP, Laragon)
- Browser per eseguire lo script
1 Creare un file base
Crea un file chiamato stack.php e inserisci questo codice:
<?php
$stack = [];
array_push($stack, "Libro");
array_push($stack, "Quaderno");
array_push($stack, "Matita");
echo "<h3>Contenuto della pila:</h3>";
print_r($stack);
?>
2 Rimuovere l’ultimo elemento
Aggiungi ora una riga per rimuovere un elemento:
<?php
$estratto = array_pop($stack);
echo "<h3>Elemento rimosso:</h3> $estratto <br>";
echo "<h3>Stato della pila:</h3>";
print_r($stack);
?>
3 Aggiungere nuovi elementi dinamicamente
Puoi aggiungere elementi anche in base all’input dell’utente:
<form method="post">
<input type="text" name="nuovo" placeholder="Aggiungi elemento">
<input type="submit" value="Aggiungi">
</form>
<?php
if (isset($_POST["nuovo"])) {
array_push($stack, $_POST["nuovo"]);
echo "<p>Aggiunto: " . htmlspecialchars($_POST["nuovo"]) . "</p>";
}
print_r($stack);
?>
4 Test e analisi
- Osserva come gli elementi vengono aggiunti in fondo all’array.
- Rimuovi elementi e verifica che l’ultimo inserito sia il primo a uscire (LIFO).
- Prova con tipi di dati diversi (stringhe, numeri, array).
- Combina
array_push()conarray_pop()per creare un sistema di “cronologia” o “undo”.