Al giorno d’oggi qualsiasi aspirante web developer avrà sentito parlare del linguaggio PHP. Nonostante sia un linguaggio datato, ancora oggi è uno dei più diffusi ed utilizzati al mondo. Imparare PHP è quindi una pratica estremamente consigliata a tutti coloro che aspirano a diventare sviluppatori web, ma soprattutto a coloro che sono amanti della programmazione ad oggetti e del mondo back-end.
Il linguaggio PHP
PHP (acronimo ricorsivo di “PHP: Hypertext Preprocessor”, preprocessore di ipertesti; originariamente acronimo di “Personal Home Page”) è un linguaggio di scripting interpretato, originariamente concepito per la programmazione di pagine web dinamiche. Grazie alla sua semplicità e flessibilità il codice PHP è adatto sia per la creazione di un semplice blog, sia per applicazioni web più complesse, come per esempio un social network o un software per il calcolo.
Come ogni linguaggio di programmazione che si rispetti, possiede tutti i costrutti e le caratteristiche dei linguaggi ad oggi più diffusi. In questo articolo, impareremo come approcciare il foreach php sottolineandone la differenza con il classico ciclo for, costrutti iterativi che fanno parte della base della programmazione informatica.
PHP array
Possiamo descrivere un array PHP come un contenitore della dimensione che noi desideriamo, in grado di avere al suo interno vari elementi, ognuno dei quali ha una posizione precisa e facilmente individuabile. Il nostro contenitore può avere al suo interno tutti i tipi di dati che PHP supporta, quindi per esempio numeri interi, numeri decimali o stringhe di testo. In questo articolo vedremo come un array PHP ed un PHP foreach possono essere implementati insieme.
Il ciclo for in PHP
Logicamente i cicli iterativi hanno tutti la stessa logica, ma addentrandoci nel PHP foreach vedremo che la sua sintassi differisce rispetto ai suoi “simili” linguaggi di programmazione ad oggetti. Riportiamo qui sotto un esempio di ciclo for in PHP.
1. <?php 2. //questa è la sintassi 3. for (inizializza il contatore; verifica la condizione sul contatore; incrementa/decrementa il contatore) { 4. //blocco di codice da eseguire 5. }
Sintatticamente è il classico ciclo for che troviamo in tutti i linguaggi. Vediamolo applicato in una situazione reale:
for ($i=5; $i>=0;$i--) 2. { 3. echo "number in decreasing order:$i <br>"; 4. } 5. ?>
Il contatore è una variabile, inizializzata all’interno del ciclo for, tra le parentesi tonde. Questo contatore fissa quante iterazioni questo loop deve compiere. All’interno delle parentesi graffe inseriamo il corpo del ciclo, ovvero lo script che vogliamo eseguire durante questa iterazione. Non dimenticate l’incremento (o decremento) del contatore!
Il ciclo PHP foreach
Il ciclo foreach è più compatto. Sicuramente la soluzione più rapida per svolgere compiti leggermente più complessi, come iterare su un array php. Vediamo la sua sintassi:
. foreach($array as $value) 2. { 3. // Statements to be executed 4. }
La differenza più importante tra for e foreach è proprio il compito del loop. Il foreach in PHP serve per iterare sugli array. È importante tenere a mente che questo ciclo itera solo su array ed oggetti, ecco perché è preferito, a seconda delle circostanze, al normale ciclo for. Vediamo uno script per iterare un PHP array.
1. <?php 2. $nomi = array("Giulia", "Giuseppe","Enza","Mario","Agata"); 3. // Itera attraverso l’array tramite una variabile 4. foreach($nomi as $nome){ 5. echo $nome . "<br>"; 6. } 7. ?>
Semplice, no?
Conclusioni
PHP mette a disposizione un gran numero di “scorciatoie” per semplificare la vita dei programmatori. È importante però ricordarsi di fare pratica! Per padroneggiare un linguaggio, bisogna esercitarsi con esso per comprenderne la logica e le regole. Ecco perché, da aspirante sviluppatore, devi procurarti degli esercizi PHP.
Inoltre, nel caso volessi approfondire il linguaggio, segui la nostra guida PHP: Aulab mette a disposizione una guida in italiano per comprendere un tema complesso come quello della programmazione ad oggetti, attraverso la sintassi e la logica del linguaggio PHP.