2010-10-16 17 views
11

volte vedo gli array come la seguente:Mettere la virgola (,) alla fine dell'array. È una convenzione?


array('item1' => array(
     'subitem1', 
     'subitem2', 
    ) 

Perché viene aggiunta una virgola alla fine della serie wheras non c'è alcun elemento dopo submitem2?

+0

Mi stavo chiedendo, questo non lo rende includere un valore nullo (l'ultimo elemento)? Non lo so poiché sto sempre usando questo "correttamente". – Christian

+1

@Christian: non in PHP (è positivamente incoraggiato in PHP). Tuttavia, dovresti ** mai ** includere una virgola aggiuntiva in JavaScript. Si tratta di un errore di sintassi nel costruttore Array ma è consentito in un valore letterale di matrice. MA, alcuni browser (leggi Internet Explorer) crea un elemento aggiuntivo che è 'indefinito'. – MrWhite

+0

Nella descrizione OP chiede perché viene aggiunta una virgola. Tuttavia, nel titolo OP chiede: è una convenzione, e questa non è ancora risposta. – eddy147

risposta

20

Facilita l'aggiunta di un'altra voce in un momento successivo.

+10

Come effetto collaterale, con il software di controllo della versione, l'ultima riga non sembra essere cambiata aggiungendo una virgola. –

+0

@ André Caron È una buona ragione per usarlo –

+0

@Hamid: È il * solo * motivo per cui lo uso :-) –

1

La virgola non è necessaria. Ma troverete ancora alcuni interpreti/compilatori che ancora lo permettono di usarlo. Puoi pensare in questo modo: gli interpreti ti permettono di fare piccoli errori e di correggerli saggiamente internamente. Questo è solo un modo facile da usare. Nient'altro.

E non dovresti usare quella virgola in più perché molti di quelli severi non ti lasceranno passare! Come Internet Explorer durante l'interpretazione di Javascript. Ma Firefox lo permetterà.

+2

Un problema con PHP è che non ci sono specifiche grammaticali formali, ma solo l'implementazione di riferimento * de facto *. –

+0

sì ... ci sono più lingue ... come javascript ... quindi è meglio seguire un buon schema! Non so perché ho avuto un feedback negativo qui. Probabilmente sono troppo confuso nell'esprimere teorie: p – Muktadir

Problemi correlati