计算项目数 PHP


Calculate the number of items PHP

出于某种原因,我想使用for循环,而不是foreach,那么如何获得$item的长度呢? count() 对我不起作用。

$xml = "http://www.labnol.org/feed/";
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
$x=$xmlDoc->getElementsByTagName('item');
            var_dump(count($x->item(0)));
  for ($i=0; $i<=5; $i++) {
}
你想

使用->lenth,你应该这样做

var_dump($x->length);

$x = $xmlDoc->getElementsByTagName('item');的结果是一个DOMNodeList,并且具有$length属性。

var_dump($x->length);

将返回节点列表的长度。

节点列表也实现了Traversable。因此,它们可以与foreach一起使用。

foreach ($x as $item) { 
  //...
}

但是,XPath 比 DOM 方法更灵活。您可以获取项目计数或前 6 个item节点。

$xpath = new DOMXPath($xmlDoc);
var_dump($xpath->evaluate('count(//item)'));
foreach ($xpath->evaluate('//item[position() <= 5]') as $item) {
  ...
}