私はこの構造に似ている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
を実装するsであることに注意してください。Iterator
Countable
ArrayAccess
ここで、このデータを相互に関連付けるために、現在の状態(タイトルまたは値)を格納する変数を使用する必要がありますが、これはあまり洗練されていません。私がやりたいのは、一度に2つのアイテムを繰り返すことができるようにすることです。私が見つけた解決策の1つは、foreach
すべてのアイテムを配列に追加してすべてのオブジェクトを反復処理し、その後、またはその配列でnext()
またはeach()
を使用して、whileループで一度に2つのアイテムを取得することでしたが、これはまったく役に立ちません。next()
オブジェクトを使用したりeach()
、オブジェクト上で使用したりするphpQuery
と、パブリックプロパティが取得されるだけであり、それは私が望んでいることではないことに注意してください。これを実行して素晴らしいコードを作成する方法はありますか?
注:この質問はに関連してphpQuery
いますが、一般的な質問であり、知識php
は含まれていません。phpQuery