我想用我从这个foreach获得的链接填充一个数组。我怎样才能做到这一点?
foreach($html->find('a') as $link) {
echo $link->href; //output: link1.html link2.html link3.html......
}
答案 0 :(得分:1)
你需要的只是
$links = array_map(function($v){return $v->href;}, $html->find('a'));
答案 1 :(得分:1)
我说array_map()是最好的方式:
$links = array_map(function($link) { return $link->href; }, $html->find('a'));
它接受给定数组中的所有内容(在本例中为$html->find('a')
),并使用您提供的函数(在本例中为function($link) { return $link->href; }
)基于地图返回一个新数组。它将该函数应用于给定数组中的每个元素,以在返回的数组中创建每个元素。
答案 2 :(得分:0)
array_push
。见this link
<?php
$stack = array();
foreach($html->find('a') as $link) {
array_push($stack, $link->href);
}
print_r($stack);
?>
答案 3 :(得分:0)
这很简单,试试这个: -
$dataArray = array();
foreach($html->find('a') as $link) {
$dataArray[] = $link->href;
}
echo '<pre>';
print_r($dataArray);
echo '</pre>';
答案 4 :(得分:0)
把它放在循环中: $链接[] = $链路&GT; HREF;
答案 5 :(得分:0)
$hrefs=array();
foreach($html->find('a') as $link) {
$hrefs[]= $link->href; //output: link1.html link2.html link3.html......
}
应该这样做。