2016-07-16 127 views
5

Come ho appreso recentemente $myArray[$index] in PHP equivale a $myArray{$index}.

Questo citato su PHP docs. Inoltre ho trovato una piccola discussione qui: PHP curly braces in array notation.

PHP-FIG non contiene alcun consiglio su quale sia il modo preferibile.

Quindi, la mia domanda è: è solo una questione di gusti o possono essere alcuni motivi oggettivi per utilizzare l'una o l'altra sintassi?

+2

Basta usare la prima come tutti gli altri. – PeeHaa

+1

@PeeHaa in realtà io uso sempre questa sintassi, ma ho affrontato un pezzo di codice in cui ho usato la seconda sintassi (mescolata con la prima). ed ero un po 'confuso – oakymax

+0

C'è qualche ragione per cui dovresti usare una sintassi, che non ho mai visto prima da nessuna parte? –

risposta

11

"Notazione parentesi quadra" per gli elementi dell'array sarebbe più unificato e accettabile.
"Notazione parentesi graffa ricurva" funzionerà in espressioni ma non nell'interpolazione variabile quando si ha a che fare con l'accesso di un elemento di matrice.
Considera il seguente esempio:

$myArray = [1,2]; 
$index = 1; 

echo "value at index $index is $myArray[$index]"; // outputs "value at index 1 is 2" 

echo "value at index $index is $myArray{$index}"; // will throw "Notice: Array to string conversion" 

var_dump($myArray{$index}); // outputs "int(2)" 
Problemi correlati