0

このforeachから取得したリンクを配列に入力したいと思います。どうやってやるの?

foreach($html->find('a') as $link) {
       echo $link->href; //output: link1.html link2.html link3.html......
}
4

6 に答える 6

1

array_map()が最良の方法だと思います:

$links = array_map(function($link) { return $link->href; }, $html->find('a'));

指定された配列(この場合は)内のすべてを取得し、指定され$html->find('a')た関数(この場合)を使用してマップに基づいて新しい配列を返しますfunction($link) { return $link->href; }。指定された配列の各要素にその関数を適用して、返された配列の各要素を作成します。

于 2012-11-25T14:53:35.873 に答える
1

あなたに必要なのは

$links = array_map(function($v){return $v->href;}, $html->find('a'));
于 2012-11-25T14:44:58.237 に答える
0

array_pushこのリンクを参照してください

<?php
$stack = array();
foreach($html->find('a') as $link) {
   array_push($stack, $link->href); 
}
print_r($stack);
?>
于 2012-11-25T14:44:43.083 に答える
0

簡単です、これを試してください:-

$dataArray = array();
foreach($html->find('a') as $link) {
       $dataArray[] = $link->href; 
}

echo '<pre>';
print_r($dataArray);
 echo '</pre>';
于 2012-11-25T14:44:48.347 に答える
0

これをループの中に入れてください:$links [] = $ link-> href;

于 2012-11-25T14:45:46.470 に答える
0
$hrefs=array();
foreach($html->find('a') as $link) {
       $hrefs[]= $link->href; //output: link1.html link2.html link3.html......
}

それはそれをする必要があります。

于 2012-11-25T15:10:51.883 に答える