2013-03-15 16 views
5

Io uso il seguente codice per estrarre informazioni da una pagina JSON.Prelevare quante voci in un array json

$str = file_get_contents('http://fantasy.mlssoccer.com/web/api/elements/498/'); 
$jsonarray = json_decode($str, true); 

$week1 = $jsonarray['fixture_history']['summary'][0][2]; 
$week2 = $jsonarray['fixture_history']['summary'][1][2]; 

Ecco un estratto di quello che sta prendendo da

{ "summary" : 
    [ 
     [ 1, "PHI (A)", 14 ] 
     [ 2, "TOR (A)", 8 ] 
    ] 
} 

Al momento esistono solo 2 settimane. 1 nuova voce verrà aggiunta ogni settimana. Come faccio a codificare qualcosa per dire "loop per quante settimane/voci esistono"?

Praticamente quello che voglio è mettere queste informazioni in una tabella HTML e voglio che il codice sappia quante settimane ci sono. Ci sarà una riga di dati per ogni settimana.

Fatemi sapere se questo non è chiaro .. e grazie!

risposta

3

Usa .length

in JavaScript

jsonObj['summary'].length 

In PHP

echo count($jsonarray['fixture_history']['summary']); 
+0

Sembra che questo sia ciò di cui ho bisogno. Come posso usarlo nel mio esempio? Ho provato 'echo $ jsonarray ['fixture_history'] ['summary']. Length;' e restituisce la parola 'Arraylength'. C'è un modo per farlo restituire un numero semplice? (dovrebbe essere 2 in questo caso) – Cully

+0

@Cully vedere la risposta senza data. –

+0

Eccellente. Funziona perfettamente. Scusa, avrei dovuto parlare di PHP. So molto poco di javascript. Molte grazie! – Cully

1

Quello che vi serve è count(), che vi dà la lunghezza della matrice. Usalo in un ciclo for per una condizione e dovresti avere la tua risposta.

$arr_length = count($arr);