2012-11-25 3 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

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...... 
} 

그렇게해야합니다.