動的に生成された変数$title
と$price
を配列$list
に追加しようとしています。複数のforeach文からの配列への追加
これはある程度機能します。このコードは、タイトルと価格の値を持つキーを持つ配列を作成します。
価格の値は、キーごとに異なります。しかし、それだけで最初title
結果は、私が最初のforeachループのみ第1を実行しているので、それがあると思うコードを見ると次の配列(同一タイトルそれまではキー30)
[0]=> array(2) { ["title"]=> string(57) "Gibson Les Paul ** Nr.1 Gibson dealer ** 18 gitaarwinkels" ["price"]=> string(25) " € 300,00 " } [1]=> array(2) { ["title"]=> string(57) "Gibson Les Paul ** Nr.1 Gibson dealer ** 18 gitaarwinkels" ["price"]=> string(25) " € 100,00 " }
を作成、追加されたと思われます。
私は、このようなタイトルforeachループ隔離するときので$title
の正しい値は、そこにいることを知っている
:
foreach ($titlehit as $titles) {
$title = $titles->nodeValue;
echo "$title";
}
30異なる$title
結果を私は得ることができますどのように
$url = "https://url.com";
$html = new DOMDocument();
@$html->loadHtmlFile($url);
$xpath = new DOMXPath($html);
$titlehit = $xpath->query("//span[@class='mp-listing-title']");
$pricehit = $xpath->query("//span[@class='price-new']");
$list = array();
$i = 0;
foreach ($titlehit as $titles) {
foreach ($pricehit as $prices) {
if ($i >=5 && $i <=35) {
$title = $titles->nodeValue;
$price = $prices->nodeValue;
$list[] = array(
'title' => $title,
'price' => $price
);
}
$i++;
}
}
を表示しています$list
に正しいタイトルと価格の両方の値を保持するには?ご協力いただきありがとうございます。
「$ i」は何のために使用されますか?カウンターとして? – MaxZoom
$ iは、配列に結果5〜35を追加するだけのカウンタとして使用されます。これより前のコードはより多くの結果を返します。 – Peter
@Peter 30タイトルしかない場合、なぜマジックナンバー35を使用していますか?なぜあなたが5位で始まる必要があるかわからない。 – MaxZoom