2013-03-15 17 views
5

Tôi sử dụng mã sau để trích xuất thông tin từ trang json.Chọn số lượng mục nhập trong một mảng 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]; 

Dưới đây là một đoạn trích của những gì nó lấy từ

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

Tại thời điểm tồn tại chỉ có 2 tuần. 1 mục mới sẽ được thêm vào mỗi tuần. Làm thế nào để tôi viết một cái gì đó để nói "vòng lặp cho tuy nhiên nhiều tuần/mục tồn tại"?

Khá nhiều điều tôi muốn làm là đưa thông tin này vào bảng HTML và tôi muốn mã biết có bao nhiêu tuần ở đó. Sẽ có 1 hàng dữ liệu cho mỗi tuần.

Hãy cho tôi biết nếu điều này không rõ ràng .. và cảm ơn!

Trả lời

3

Sử dụng .length

Trong Javascript

jsonObj['summary'].length 

Trong PHP

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

Có vẻ như đây là những gì tôi cần. Làm thế nào để sử dụng nó trong ví dụ của tôi? Tôi đã thử 'echo $ jsonarray ['fixture_history'] ['summary']. Length;' và nó trả về từ 'Arraylength'. Có cách nào để đưa nó trở về một con số đơn giản không? (nên là 2 trong trường hợp này) – Cully

+0

@Cully xem câu trả lời chưa được hoàn thành. –

+0

Tuyệt vời. Hoạt động hoàn hảo. Xin lỗi, tôi đã đề cập đến PHP. Tôi biết rất ít về javascript. Cảm ơn rất nhiều! – Cully

1

gì bạn cần là count(), mang đến cho bạn độ dài của mảng. Sử dụng điều đó trong vòng lặp for cho điều kiện và bạn sẽ có câu trả lời.

$arr_length = count($arr);