我想用从这个 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'));
很简单,试试这个:-
$dataArray = array();
foreach($html->find('a') as $link) {
$dataArray[] = $link->href;
}
echo '<pre>';
print_r($dataArray);
echo '</pre>';
与
array_push
。请参阅此链接
<?php
$stack = array();
foreach($html->find('a') as $link) {
array_push($stack, $link->href);
}
print_r($stack);
?>
将其放入循环中: $links[]=$link->href;
$hrefs=array();
foreach($html->find('a') as $link) {
$hrefs[]= $link->href; //output: link1.html link2.html link3.html......
}
应该可以了。