2017-08-11 88 views
0
"markers": [ 
    { 
     "status": "gone", 
     "title": "HOWRAH JN (HWH)", 
     "lat": "22.58405800", 
     "lng": "88.34097900" 
    }, 
    { 
     "status": "gone", 
     "title": "ASANSOL JN (ASN)", 
     "lat": "23.69110100", 
     "lng": "86.97481200" 
    }, 
    { 
     "status": "current", 
     "title": "JAMTARA (JMT)", 
     "lat": "23.95927400", 
     "lng": "86.80555300" 
    }, 
    { 
     "status": "yettocome", 
     "title": "MADHUPUR JN (MDP)", 
     "lat": "24.27075300", 
     "lng": "86.64230300" 
    }, 
    { 
     "status": "yettocome", 
     "title": "JASIDIH JN (JSME)", 
     "lat": "24.51479700", 
     "lng": "86.64453500" 
    }, 
    { 
     "status": "yettocome", 
     "title": "JHAJHA (JAJ)", 
     "lat": "24.77917600", 
     "lng": "86.39957400" 
    } 
] 

我想在「current」之後獲得「title」的唯一第一個值。例如,我需要回顯「title」:「MADHUPUR JN(MDP)」,即「status」的第一個值:「yettocome」。這裏是我的代碼:Json值解釋

<?php 
for($i=0; $i<count($array['markers']); $i++) { 
    if($array['markers'] [$i]['status'] == "yettocome") { 
     echo $array['markers'][$i]['title']; 
    } 
} 
?> 
+0

有該行一個空白: 「$數組[ '標記'] [$ i] [ '狀態']」 之間[ '標記']和[$ i] – Mart

+0

好細!雖然它打印的所有標題值相當於「yettocome」。但我只需要第一個值,即「標題:」「Madhupur Jn」。任何幫助? –

+0

謝謝!有效。 @ctwheels –

回答

0

您需要刪除空格在$array['markers'] [$i]['status']['markers'][$i]之間。

+0

我需要的第一個值不是所有的值。 –

1

foreach循環將遍歷數組的所有值。
break語句將在到達時結束foreach循環的執行。
我個人認爲foreach循環會使代碼稍微比for循環更清晰(特別是對於您的用例)。

foreach($array['markers'] as $marker){ 
    if($marker['status'] === 'yettocome') { 
     echo $marker['title']; 
     break; 
    } 
}