このforeachから取得したリンクを配列に入力したいと思います。どうやってやるの?
foreach($html->find('a') as $link) {
echo $link->href; //output: link1.html link2.html link3.html......
}
array_map()が最良の方法だと思います:
$links = array_map(function($link) { return $link->href; }, $html->find('a'));
指定された配列(この場合は)内のすべてを取得し、指定され$html->find('a')
た関数(この場合)を使用してマップに基づいて新しい配列を返しますfunction($link) { return $link->href; }
。指定された配列の各要素にその関数を適用して、返された配列の各要素を作成します。
あなたに必要なのは
$links = array_map(function($v){return $v->href;}, $html->find('a'));
とarray_push
。このリンクを参照してください
<?php
$stack = array();
foreach($html->find('a') as $link) {
array_push($stack, $link->href);
}
print_r($stack);
?>
簡単です、これを試してください:-
$dataArray = array();
foreach($html->find('a') as $link) {
$dataArray[] = $link->href;
}
echo '<pre>';
print_r($dataArray);
echo '</pre>';
これをループの中に入れてください:$links [] = $ link-> href;
$hrefs=array();
foreach($html->find('a') as $link) {
$hrefs[]= $link->href; //output: link1.html link2.html link3.html......
}
それはそれをする必要があります。