我phpQuery
用来解析一些HTML
与此结构类似的:
<div>
<span>Name</span>
<span>John</span>
<span>Age</span>
<span>23</span>
<span>Location</span>
<span>London</span>
</div>
我需要将所有这些信息收集到一个关联数组中,所以我正在做这样的事情:
$doc = new phpQuery($html);
foreach($doc['div span'] as $span){
$text = pq($span)->text();
// do some other stuff with $text
}
请注意$doc
和$doc['div span']
是phpQueryObject
实现Iterator
和Countable
的s ArrayAccess
。
现在,为了关联这些数据,我不得不使用一个变量来存储当前状态(标题或值),这不是很优雅。我想做的是能够一次迭代 2 个项目。foreach
我发现的一个解决方案是使用将所有项目添加到数组来遍历所有对象,然后在该数组上使用next()
oreach()
以在 while 循环中一次获取 2 个项目,但这一点都不好。请记住,在对象上使用next()
或我只是得到它的公共属性,这根本不是我想要的。有没有办法做到这一点并有一个很好的代码?each()
phpQuery
注意:虽然这个问题与 相关phpQuery
,但我认为这是一个笼统的php
问题,不涉及phpQuery
知识。