2012-11-25 194 views
0

我想用我從這個foreach得到的鏈接填充一個數組。我怎樣才能做到這一點?動態填充數組PHP

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

你只需要將你的鏈接推到空白數組 –

+0

你可以使用array_push像所有其他答案在這裏建議,但我建議使用array_map來代替 - 它更簡單。以我的答案爲例。 –

回答

0

很簡單,試試這個: -

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

echo '<pre>'; 
print_r($dataArray); 
echo '</pre>'; 
0

With array_push。見this link

<?php 
$stack = array(); 
foreach($html->find('a') as $link) { 
    array_push($stack, $link->href); 
} 
print_r($stack); 
?> 
1

所有你需要的是

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

+這是一個更好的方法...任何人都可以循環:) – Baba

0

將這個內循環: $鏈接[] = $鏈接 - > HREF;

1

我想說array_map()是最好的方法:

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

它採用定數組中的一切(在這種情況下,$html->find('a')),並使用你給它的函數返回一個基於地圖上的新陣(在這種情況下,function($link) { return $link->href; })。它將該函數應用於給定數組中的每個元素,以創建返回數組中的每個元素。

0
$hrefs=array(); 
foreach($html->find('a') as $link) { 
     $hrefs[]= $link->href; //output: link1.html link2.html link3.html...... 
} 

應該這樣做。