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