SlideShare a Scribd company logo
Array e gestione in PHP
Come ogni linguaggio di programmazione che si
rispetti PHP possiede la possibilità di gestire fra
le strutture di dati astratte gli array.
Gli array sono definibili in base alla
dimensionalità e alla cardinalità. Infatti un
vettore è una struttura di dati astratta
identificata da nome collettivo e da un tipo.
Ogni elemento è identificato da un indice.
Esempi di vettori e alcune
annotazione
X=(1,2,3,4,5,-5,1,1) vettore di 8 numeri interi;
per identificare l'elemento uso un indice K
intero ad esempio X[6]=-5;
X=('Antonio','Giovanni','Alfonso','Loredana') è un
vettore di 4 stringhe;
Un vettore in PHP si definisce in modo implicito
ad esempio:
$X=array(1,2,3,4,5-6,1,1); come nel primo
caso.
$X=array('Antonio','Giovanni','Alfonso','Loredan
a');
I vettori e il PHP
Un vettore in PHP può essere assegnato anche
in modo diverso indicando il valore
dell'elemento senza precisarne la posizione, e
in seguito identificarlo. In altre parole:
Citta[]='Napoli';
Citta['Campania']='Napoli';
Questa modalità di definire un vettore si chiama
“associazione” infatti si definisce come vettore
associativo, in quanto gli elementi non sono
identificati da un indice numerico ma da
un'associazione.
Quali le operazioni sui vettori
Caricamento inserimento dati nel vettore;
Ricerca Sequenziale e Dicotomica;
Aggiornamento e Cancellazione (logica,fisica);
Compattamento
Ordinamento
Operazione di caricamento
inizio
“Quanti elementi “
N
“Dammi
elementi “
X[K]
K=1..N
Fine
Come codificare un ciclo di
inserimento con un Form html.
Semplice andiamo a creare un
modulo che abbia una combo box
per accogliere gli elementi. Si parte
da un Form html che chiede il
numero degli elementi del vettore
che chiamiamo N.
In seguito in un nuovo modulo
generato da php si creano con un
ciclo tanti campi testo quanti sono
gli elementi del vettore.
All'Invio secondo Form i dati
vengono caricati nel vettore.
Codice PHP dell'applicazione
<?php
echo '<form name="primo" method="post" action = "carica_vettore.php" >';
echo '<input type="text" name="n" value="Numero Elementi"
tabindex="1">';
echo '<input type="submit" name="invia" value="Conferma"
tabindex="2">';
echo '<input type="reset" name="Annulla" value="Elimina Tutto"
tabindex="3">';
echo '</form>';
?>
<?php
$n=$_POST['n'];
if ($_POST['invia']) {
echo '<form name="secondo" action = "carica_vettore.php" method="post">';
for ($k=1;$k<=$_POST['n'];$k++) {
echo '<input type="text" name=v'.$k.' value="Elemento "'.$k.'". "><p>';
}
echo '<input type="submit" name="invia1" value="Carica e Visualizza Elementi"
>';echo '<input type="reset" name="Annulla1" value="Elimina Tutto"
>';
echo '<input type="hidden" name="n1" value="'.$n.'">';
echo '</form>';
} continua
Codice PHP dell'applicazione
?>
<?php
$somma=0;
$n1=$_POST['n1'];
if ($_POST['invia1']) {
for ($z=1;$z<=$n1;$z++) {
$tmp='v'.$z;
$x[$z]=intval($_POST[$tmp]);
}
echo '<p>Elementi del vettore';
echo '<table>';
for ($z=1;$z<=$n1;$z++) {
echo '<tr><td>'.$x[$z].'</td></tr>';
}
echo '</table>';
}
?>
Commenti sullo script
Uno script così complicato è richiesto ogni
qualvolta i dati devono essere inseriti dall'utente.
Se invece il vettore deve essere creato da script
allora il codice è molto più semplice.
Infatti se ad esempio si vuole caricare un vettore
di interi si può operare come detto in precedenza.
Funzioni importanti per il PHP
Key() restituisce il valore dell'indice corrente nel vettore;
Current() restituisce il valore dell'elemento in quel momento
puntato;
Next() e Prev() spostano l'indice in avanti e indietro di una
posizione;
Count() fornisce il numero degli elementi del vettore;
Sort() ordina il vettore;
List e each elencano gli elementi del vettore e each crea un
vettore di 2 elementi con posizione e valore dell'elemento;
Funzioni importanti per il PHP
Key() restituisce il valore dell'indice corrente nel vettore;
Current() restituisce il valore dell'elemento in quel momento
puntato;
Next() e Prev() spostano l'indice in avanti e indietro di una
posizione;
Count() fornisce il numero degli elementi del vettore;
Sort() ordina il vettore;
List e each elencano gli elementi del vettore e each crea un
vettore di 2 elementi con posizione e valore dell'elemento;

More Related Content

More from I.S.I.S. "Antonio Serra" - Napoli

La scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptxLa scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptx
I.S.I.S. "Antonio Serra" - Napoli
 
Linguaggio Java - Classi e Oggetti
Linguaggio Java - Classi e OggettiLinguaggio Java - Classi e Oggetti
Linguaggio Java - Classi e Oggetti
I.S.I.S. "Antonio Serra" - Napoli
 
Linguaggio C++ - Basi
Linguaggio C++ - BasiLinguaggio C++ - Basi
Linguaggio C++ - Basi
I.S.I.S. "Antonio Serra" - Napoli
 
La metodologia Top - Down - applicazione al C++
La metodologia Top - Down - applicazione al C++La metodologia Top - Down - applicazione al C++
La metodologia Top - Down - applicazione al C++
I.S.I.S. "Antonio Serra" - Napoli
 
I cicli in Python 3
I cicli in Python 3I cicli in Python 3
Video python3 n2
Video python3 n2Video python3 n2
I sotto programmi in Python 3
I sotto programmi in Python 3I sotto programmi in Python 3
I sotto programmi in Python 3
I.S.I.S. "Antonio Serra" - Napoli
 
Le basi di Pytthon 3 - Fondamenti n.1
Le basi di Pytthon 3 - Fondamenti n.1Le basi di Pytthon 3 - Fondamenti n.1
Le basi di Pytthon 3 - Fondamenti n.1
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECLD - Modulo Online Collaboration n.2
Nuova ECLD - Modulo Online Collaboration n.2Nuova ECLD - Modulo Online Collaboration n.2
Nuova ECLD - Modulo Online Collaboration n.2
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Modulo Presentation n.3
Nuova ECDL - Modulo Presentation n.3Nuova ECDL - Modulo Presentation n.3
Nuova ECDL - Modulo Presentation n.3
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Modulo Presentation n.2
Nuova ECDL - Modulo Presentation n.2Nuova ECDL - Modulo Presentation n.2
Nuova ECDL - Modulo Presentation n.2
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Word Processing
Nuova ECDL - Word ProcessingNuova ECDL - Word Processing
Nuova ECDL - Word Processing
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Word Processing n.2
Nuova ECDL - Word Processing n.2 Nuova ECDL - Word Processing n.2
Nuova ECDL - Word Processing n.2
I.S.I.S. "Antonio Serra" - Napoli
 
Nuova ECDL - Word Processing n.1
Nuova ECDL - Word Processing n.1Nuova ECDL - Word Processing n.1
Nuova ECDL - Word Processing n.1
I.S.I.S. "Antonio Serra" - Napoli
 
Computer Essentials n.3 - Edizione 2020
Computer Essentials n.3 - Edizione 2020Computer Essentials n.3 - Edizione 2020
Computer Essentials n.3 - Edizione 2020
I.S.I.S. "Antonio Serra" - Napoli
 
Java - Lezione 1
Java - Lezione 1 Java - Lezione 1
primi comandi SQL con Mysql
primi comandi SQL con Mysqlprimi comandi SQL con Mysql
primi comandi SQL con Mysql
I.S.I.S. "Antonio Serra" - Napoli
 
Modello TCP/IP
Modello TCP/IPModello TCP/IP

More from I.S.I.S. "Antonio Serra" - Napoli (20)

La scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptxLa scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptx
 
Linguaggio Java - Classi e Oggetti
Linguaggio Java - Classi e OggettiLinguaggio Java - Classi e Oggetti
Linguaggio Java - Classi e Oggetti
 
Linguaggio C++ - Basi
Linguaggio C++ - BasiLinguaggio C++ - Basi
Linguaggio C++ - Basi
 
La metodologia Top - Down - applicazione al C++
La metodologia Top - Down - applicazione al C++La metodologia Top - Down - applicazione al C++
La metodologia Top - Down - applicazione al C++
 
I cicli in Python 3
I cicli in Python 3I cicli in Python 3
I cicli in Python 3
 
Video python3 n2
Video python3 n2Video python3 n2
Video python3 n2
 
I sotto programmi in Python 3
I sotto programmi in Python 3I sotto programmi in Python 3
I sotto programmi in Python 3
 
Le basi di Pytthon 3 - Fondamenti n.1
Le basi di Pytthon 3 - Fondamenti n.1Le basi di Pytthon 3 - Fondamenti n.1
Le basi di Pytthon 3 - Fondamenti n.1
 
Nuova ECLD - Modulo Online Collaboration n.2
Nuova ECLD - Modulo Online Collaboration n.2Nuova ECLD - Modulo Online Collaboration n.2
Nuova ECLD - Modulo Online Collaboration n.2
 
Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2
 
Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2Nuova ECDL - Modulo Online Essentials n.2
Nuova ECDL - Modulo Online Essentials n.2
 
Nuova ECDL - Modulo Presentation n.3
Nuova ECDL - Modulo Presentation n.3Nuova ECDL - Modulo Presentation n.3
Nuova ECDL - Modulo Presentation n.3
 
Nuova ECDL - Modulo Presentation n.2
Nuova ECDL - Modulo Presentation n.2Nuova ECDL - Modulo Presentation n.2
Nuova ECDL - Modulo Presentation n.2
 
Nuova ECDL - Word Processing
Nuova ECDL - Word ProcessingNuova ECDL - Word Processing
Nuova ECDL - Word Processing
 
Nuova ECDL - Word Processing n.2
Nuova ECDL - Word Processing n.2 Nuova ECDL - Word Processing n.2
Nuova ECDL - Word Processing n.2
 
Nuova ECDL - Word Processing n.1
Nuova ECDL - Word Processing n.1Nuova ECDL - Word Processing n.1
Nuova ECDL - Word Processing n.1
 
Computer Essentials n.3 - Edizione 2020
Computer Essentials n.3 - Edizione 2020Computer Essentials n.3 - Edizione 2020
Computer Essentials n.3 - Edizione 2020
 
Java - Lezione 1
Java - Lezione 1 Java - Lezione 1
Java - Lezione 1
 
primi comandi SQL con Mysql
primi comandi SQL con Mysqlprimi comandi SQL con Mysql
primi comandi SQL con Mysql
 
Modello TCP/IP
Modello TCP/IPModello TCP/IP
Modello TCP/IP
 

Array e Linguaggio PHP

  • 1. Array e gestione in PHP Come ogni linguaggio di programmazione che si rispetti PHP possiede la possibilità di gestire fra le strutture di dati astratte gli array. Gli array sono definibili in base alla dimensionalità e alla cardinalità. Infatti un vettore è una struttura di dati astratta identificata da nome collettivo e da un tipo. Ogni elemento è identificato da un indice.
  • 2. Esempi di vettori e alcune annotazione X=(1,2,3,4,5,-5,1,1) vettore di 8 numeri interi; per identificare l'elemento uso un indice K intero ad esempio X[6]=-5; X=('Antonio','Giovanni','Alfonso','Loredana') è un vettore di 4 stringhe; Un vettore in PHP si definisce in modo implicito ad esempio: $X=array(1,2,3,4,5-6,1,1); come nel primo caso. $X=array('Antonio','Giovanni','Alfonso','Loredan a');
  • 3. I vettori e il PHP Un vettore in PHP può essere assegnato anche in modo diverso indicando il valore dell'elemento senza precisarne la posizione, e in seguito identificarlo. In altre parole: Citta[]='Napoli'; Citta['Campania']='Napoli'; Questa modalità di definire un vettore si chiama “associazione” infatti si definisce come vettore associativo, in quanto gli elementi non sono identificati da un indice numerico ma da un'associazione.
  • 4. Quali le operazioni sui vettori Caricamento inserimento dati nel vettore; Ricerca Sequenziale e Dicotomica; Aggiornamento e Cancellazione (logica,fisica); Compattamento Ordinamento
  • 5. Operazione di caricamento inizio “Quanti elementi “ N “Dammi elementi “ X[K] K=1..N Fine Come codificare un ciclo di inserimento con un Form html. Semplice andiamo a creare un modulo che abbia una combo box per accogliere gli elementi. Si parte da un Form html che chiede il numero degli elementi del vettore che chiamiamo N. In seguito in un nuovo modulo generato da php si creano con un ciclo tanti campi testo quanti sono gli elementi del vettore. All'Invio secondo Form i dati vengono caricati nel vettore.
  • 6. Codice PHP dell'applicazione <?php echo '<form name="primo" method="post" action = "carica_vettore.php" >'; echo '<input type="text" name="n" value="Numero Elementi" tabindex="1">'; echo '<input type="submit" name="invia" value="Conferma" tabindex="2">'; echo '<input type="reset" name="Annulla" value="Elimina Tutto" tabindex="3">'; echo '</form>'; ?> <?php $n=$_POST['n']; if ($_POST['invia']) { echo '<form name="secondo" action = "carica_vettore.php" method="post">'; for ($k=1;$k<=$_POST['n'];$k++) { echo '<input type="text" name=v'.$k.' value="Elemento "'.$k.'". "><p>'; } echo '<input type="submit" name="invia1" value="Carica e Visualizza Elementi" >';echo '<input type="reset" name="Annulla1" value="Elimina Tutto" >'; echo '<input type="hidden" name="n1" value="'.$n.'">'; echo '</form>'; } continua
  • 7. Codice PHP dell'applicazione ?> <?php $somma=0; $n1=$_POST['n1']; if ($_POST['invia1']) { for ($z=1;$z<=$n1;$z++) { $tmp='v'.$z; $x[$z]=intval($_POST[$tmp]); } echo '<p>Elementi del vettore'; echo '<table>'; for ($z=1;$z<=$n1;$z++) { echo '<tr><td>'.$x[$z].'</td></tr>'; } echo '</table>'; } ?>
  • 8. Commenti sullo script Uno script così complicato è richiesto ogni qualvolta i dati devono essere inseriti dall'utente. Se invece il vettore deve essere creato da script allora il codice è molto più semplice. Infatti se ad esempio si vuole caricare un vettore di interi si può operare come detto in precedenza.
  • 9. Funzioni importanti per il PHP Key() restituisce il valore dell'indice corrente nel vettore; Current() restituisce il valore dell'elemento in quel momento puntato; Next() e Prev() spostano l'indice in avanti e indietro di una posizione; Count() fornisce il numero degli elementi del vettore; Sort() ordina il vettore; List e each elencano gli elementi del vettore e each crea un vettore di 2 elementi con posizione e valore dell'elemento;
  • 10. Funzioni importanti per il PHP Key() restituisce il valore dell'indice corrente nel vettore; Current() restituisce il valore dell'elemento in quel momento puntato; Next() e Prev() spostano l'indice in avanti e indietro di una posizione; Count() fornisce il numero degli elementi del vettore; Sort() ordina il vettore; List e each elencano gli elementi del vettore e each crea un vettore di 2 elementi con posizione e valore dell'elemento;