Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le funzioni con iniziale E

Analisi delle principali funzioni buit-in: each, echo, ereg_replace, ereg e altre
Analisi delle principali funzioni buit-in: each, echo, ereg_replace, ereg e altre
Link copiato negli appunti
  • 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 a list(), 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 fa die(): se vi interessa dare "spiegazioni" sul perchè lo script termina, utilizzate die(), 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 di split(), che vedremo in seguito. Entrambe le funzioni, inoltre, sono molto utili nel caso ci sia la necessità di leggere determinati file contenenti delle liste;


Ti consigliamo anche