2013-07-29 2 views
0

간단한 HTML DOM 작동하지 :중복 배열 값은이 같은 간단한 HTML DOM 함께 일하고 있어요

foreach($html->find('img', 18) as $d) { 
echo $d->outertext; 
} 

이 지금은이 경우 이미지의 변수의 배열을 구현하려는, 그래서 내가 그랬어 :

$img=array(

    "img"=>"18", 
    "img"=>"21" 

); 


foreach($img as $x=>$x_value) 
{ 

    $d = $html->find($x, $x_value); 
    echo $d->outertext; 

} 

문제는 단순 HTML DOM은 배열 21의 마지막 이미지 만 반환한다는 것입니다. 배열의 모든 것을 반환하도록하려면 어떻게해야합니까?

답변

1

$img 배열의 두 항목 모두 동일한 키가 있기 때문입니다. foreach 두 키가 모두 img이므로 두 개의 개별 항목으로 인식하지 못합니다.

예제 코드를 보여줍니다 :

$test = array(
    "key" => 1, 
    "key" => 2 
); 

echo "Length of array: " . count($test) . "\n\n"; 

echo "Items in array:\n"; 
foreach($test as $key => $value) { 
    echo "$key => $value\n"; 
} 

출력 :

Length of array: 1 

Items in array: 
key => 2 
+0

감사합니다, 당신은 배열의 형식을 지정하는 방법에 대한 어떤 생각을 가지고 있습니까? – Youss

+0

나는 여기 [link] (http://www.w3schools.com/php/php_arrays.asp?output=print)에서 뭔가를 발견했다.'$ img = array ("img", "img"); $ arrlength = count ($ img); 위한 (X = 0 $; $ X <$ arrlength; $ X ++) { 의 foreach ($, HTML> 찾기의 ($ IMG [$ X]) $ d 개 등) { 에코 $ D-> outertext; } }' – Youss

+0

동일한 값을 여러 번 반환 할 수 있기 때문에 작동합니다. 그러나 다음과 같은 색인 번호를 추가하는 것 같습니다. "img, 3"색인 번호를 구현하는 방법에 대해 알고 계십니까? 이를 위해 다른 배열을 만들고 두 배열을 병합해야합니까? – Youss

관련 문제