- each: restituisce il primo valore di un array utilizzando le keys 0, 1, key e value; se l'array è associativo, si può scrivere:
$array = array ("nome" => "valore", "nome2" => "valore2");
while (list($key, $val) = each ($array)) {
echo "$key => $valn";
}
che restituirà:
nome => valore
nome2 => valore2
Se invece l'array non è associativo, il codice sarà:
$array = array ("nome", "valore", "nome2", "valore2");
while (list($key, $val) = each ($array)) {
echo "$key => $valn";
}
ed il risultato:
0 => nome
1 => valore
2 => nome2
3 => valore2
Come avrete certamente notato, la funzione
each()
viene spesso utilizzata insieme alist()
, che vedremo in seguito;
- echo: visualizza una o più stringhe; non penso ci sia molto da dire su questa funzione, vista sia la sua semplicità sia le numerose implicazioni in cui l'abbiamo vista in uso.
- ereg_replace: sostituisce un'espressione regolare con determinati valori; alla funzione devono essere passati tre argomenti: il primo indica il testo da sostituire, il secondo è il testo utilizzato per la sostituzione ed il terzo è la stringa da modificare; ad esempio:
$stringa = "Questo è un corso su ASP";
echo ereg_replace("ASP", "PHP", $stringa);
Notate che si sarebbe potuto scrivere anche:
echo ereg:replace("ASP", "PHP", "Questo è un corso su ASP");
che non avrebbe avuto molto senso, comunque.
- ereg: esegue il matching di un'espressione regolare. L'esempio fornito con la documentazione è alquanto eloquente:
if (ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Invalid date format: $date";
}
Tutto questo ciclo è fatto per controllare che una data sia in formato corretto. Vediamo il significato di "[0-9]{4})-([0-9]{1,2})-([0-9]{1,2}". Per chi conosca le espressioni regolari, non sarà difficile tradurre quanto sopra con "un numero da 0 a 9 ripetuto quattro volte seguito da un '-', da un numero da 0 a 9 ripetuto una o due volte, da un '-' e da un numero da 0 a 9 ripetuto una o due volte". Come spesso accade, leggere un'espressione regolare è molto più semplice che tradurla nel linguaggio parlato.
-
eregi_replace: funziona esattamente come
ereg_replace()
, solamente che in questo caso l'espressione regolare è sostituita in maniera "case insensitive", ossia ignorando i caratteri maiuscoli e minuscoli;
-
eregi: funziona esattamente come
ereg()
, solamente che in questo caso l'espressione regolare è sostituita in maniera "case insensitive";
- error_log: invia un messaggio di errore al file di log del Web Server, direttamente alla porta TCP dalla quale è arrivata la richiesta o in un file. La sintassi è:
error_log(message, mesage_type, destination);
Message_type è un numero che specifica dove deve arrivare il messaggio. Può essere:
0: il messaggio è inviato al logger del PHP o nel file specificato da "error_log";
1: il messaggio è inviato per email al parametro (probabilmente un valido indirizzo email) specificato in "destination"; 2: il messaggio è inviato al debugger;
3: il messaggio è inserito in append al parametro specificato in destination";
- escapeshellcmd: se si richiama un comando esterno da una shell, con questo comando si fa in modo che i metacaratteri della shell vengano fatti precedere da un carattere di escape per evitare che il comando produca degli errori;
- exec: esegue un programma esterno;
-
exit: esce da uno script; il comando
exit()
è utile nei casi si voglia fermare uno script in caso qualcosa non soddisfi determinate condizioni, ad esempio:
if (condizione) {
esegui il blocco;
} else {
exit;
}
Ricordate che
exit()
non riporta un messaggio di errore come fadie()
: se vi interessa dare "spiegazioni" sul perchè lo script termina, utilizzatedie()
, ma ricordate che non è possibile scrivere:
exit "Esco dal programman";
o meglio, è possibile ma non ha alcun effetto se non quello di uscire;
- exp: eleva "e" (2.71828.....) alla potenza riportata come argomento della funzione:
echo exp(3);
restituirà: 20.0855369...
- explode: divide una stringa secondo un determinato pattern. Ad esempio, volendo dividere una stringa contenente tre nomi separati da virgole possiamo scrivere:
$nomi = "Tizio,Caio,Sempronio";
list ($nome1, $nome2, $nome3) = explode (",", $nomi);
echo "$nome1n$nome2n$nome3n";
che restituirà:
Tizio
Caio
Sempronio
Explode()
è una versione semplificata displit()
, che vedremo in seguito. Entrambe le funzioni, inoltre, sono molto utili nel caso ci sia la necessità di leggere determinati file contenenti delle liste;