foreach($xml->xpath('programme[@channel="1"]') as $item) {
if (something) {
echo "cat.: ".$item->{'category'}. "<br>";}
如果我有2個「類別」選擇,如何設置它獲得第二個,而不是行中的第一個?Array獲得第二項
foreach($xml->xpath('programme[@channel="1"]') as $item) {
if (something) {
echo "cat.: ".$item->{'category'}. "<br>";}
如果我有2個「類別」選擇,如何設置它獲得第二個,而不是行中的第一個?Array獲得第二項
最簡單的方法是使用一個計數器變量:
$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>";
以及我比較數據的時間,所以我有︰if($ time> $ start && $ time <$ end){現在什麼? – user3412188 2014-10-30 15:32:11
*如果我有2 * *如果它只是一個類別? – 2014-10-30 15:33:29
這給了你第二類,也可確保您得到的第一個類別時,有沒有第二個:
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 />';
}
}
}
不幸的是它不會爲我工作,仍然顯示第一而不是第二。我想提供完整的信息:我通過簡單的XML獲取,它的一部分在這裏:http://wklej.to/2zmFZ。我的PHP腳本如下所示:http://wklej.to/13OQB。正如在xml文件中可以看到的,總是有兩個
@ user3412188我做了一些改變,也許現在就解決了。 – 2014-10-31 11:09:28
使用類似'if($ first){$ first = false;繼續; }'跳過它? – 2014-10-30 15:29:00
在foreach之前添加一個coutner,在你的循環結束時加入它,如果它不是第一個,你可以獲得你的價值。 – vaso123 2014-10-30 15:29:31