Corsi on-line

Array dereferencing in PHP 5.4

La versione definitiva di PHP 5.4 dovrebbe essere disponibile a breve, al momento siamo ancora in fase di Release Candidate quindi non è possibile utilizzarla in produzione, ma le features previste sono già tutte incluse ed è quindi possibile analizzare le nuove funzionalità fornite; tra di esse è di particolare interesse la possibilità di deferenziare gli array (array dereferencing) che consiste nel poter puntare (e quindi utilizzare) direttamente un valore di un vettore.

Analizziamo un semplice esempio:

function nomi () {
    return array('a' => 'Luca', 'b' => 'Max');
}
echo nomi()['a'];

Come è possibile notare, nel codice proposto viene introdotta una funzione (“nomi”) a cui non vengono passati dei paramentri; tale funzione prevede come valore di ritorno un array associativo (ma potrebbe tranquillamente presentare un indice di tipo numerico). I valori del vettore però non sono associati ad una variabile, nonostante questo possono essere utilizzati immediatamente tramite dereferenziazione:

echo nomi()['a'];

In questo modo il valore di un vettore potrà essere stampato tramite una normale chiamata alla funzione che verrà associata all’indice del valore stesso. Il risultato è la possibilità di scrivere codici sorgenti più snelli e di poter maneggiare più liberamente i puntatori.

Post correlati
  • Anonimo

    spettacolare

  • Anonimo

    se serve solo a quello non mi sembra tanto spettacolare… ma forse mi sbaglio…

  • Claudio Garau

    @Borgo
    Non fare il coder reazionario 🙂
    Ti sembra poco poter accedere ai valori direttamente dalla funzione?

  • Anonimo

    questa non la capisco.
    perchè è più snello scrivere tutto quell’ambaradan al posto di:

    $nomi= array('a' => 'Luca', 'b' => 'Max');
    echo $nomi['a'];

    ?
    mi sbaglierò, ma ho la vaga impressione che prima di pubblicare una nuova versione (non solo php) questa sia sottoposta al vaglio dell’ u.c.a.s.

I più letti del mese
Tematiche