2014-10-30 57 views
0
foreach($xml->xpath('programme[@channel="1"]') as $item) { 
    if (something) { 
     echo "cat.: ".$item->{'category'}. "<br>";} 

如果我有2個「類別」選擇,如何設置它獲得第二個,而不是行中的第一個?Array獲得第二項

+0

使用類似'if($ first){$ first = false;繼續; }'跳過它? – 2014-10-30 15:29:00

+0

在foreach之前添加一個coutner,在你的循環結束時加入它,如果它不是第一個,你可以獲得你的價值。 – vaso123 2014-10-30 15:29:31

回答

0

最簡單的方法是使用一個計數器變量:

$i = 0; 
foreach($xml->xpath('programme[@channel="1"]') as $item) { 
    if ($i++ != 1) 
     echo "cat.: ".$item->{'category'}. "<br>"; 

然而,這將包括第一後,每類別。如果您希望第二類,你可以使用相同的方法:

$i = 0; 
foreach($xml->xpath('programme[@channel="1"]') as $item) { 
    if ($i++ == 2) 
     echo "cat.: ".$item->{'category'}. "<br>"; 
+0

以及我比較數據的時間,所以我有︰if($ time> $ start && $ time <$ end){現在什麼? – user3412188 2014-10-30 15:32:11

+1

*如果我有2 * *如果它只是一個類別? – 2014-10-30 15:33:29

0

這給了你第二類,也可確保您得到的第一個類別時,有沒有第二個:

foreach ($xml->xpath('programme[@channel="1"]') as $item) { 
    if (something) { 
     if (isset($item->category[1]) && !empty($item->category[1])) { 
      echo 'cat.: '.$item->category[1].'<br />'; 
     } else { 
      echo 'cat.: '.$item->category[0].'<br />'; 
     } 
    } 
} 
+0

不幸的是它不會爲我工作,仍然顯示第一而不是第二。我想提供完整的信息:我通過簡單的XML獲取,它的一部分在這裏:http://wklej.to/2zmFZ。我的PHP腳本如下所示:http://wklej.to/13OQB。正如在xml文件中可以看到的,總是有兩個指令提供。我的觀點是獲得第二個,而不是迄今爲止的第一個。親切的問候! – user3412188 2014-10-30 20:06:52

+0

@ user3412188我做了一些改變,也許現在就解決了。 – 2014-10-31 11:09:28