2012-07-10 5 views
0

내 배열을 foreach 루프에서 반복하려고 시도하지만 반복적으로 같은 루프를 계속 반복합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?중첩 된 foreach 루프, 첫 번째 루프 루핑 안 함

$classes = array('red', 'blue', 'yellow', 'green', 'black', 'purple', 'grey'); 
foreach($classes as $class){ 
foreach ($html->find('.yfnc_datamodoutline1 .yfnc_tabledata1') as $element){ 
    $symbols = $element->outertext; 
    echo '<div class="'.$class.'">'.$symbols.'</div>'; 
} 

는 그것이 출력을 만들려고 노력이

<div class="red">Jul 6, 2012</div> 
<div class="red">12,889.40</div> 
<div class="red">12,889.40</div> 
<div class="red">12,702.99</div> 
<div class="red">12,772.47</div> 
<div class="red">967,600</div> 
<div class="red">12,772.47</div> 

임 출력이

<div class="red">Jul 6, 2012</div> 
<div class="blue">12,889.40</div> 
<div class="yellow">12,889.40</div> 
<div class="green">12,702.99</div> 
<div class="black">12,772.47</div> 
<div class="purple">967,600</div> 
<div class="grey">12,772.47</div> 

답변

3

대신 색 배열에 인덱스를 사용,이에 대한 중첩 루프를 사용할 수 없습니다.

$classes = array('red', 'blue', 'yellow', 'green', 'black', 'purple', 'grey'); 
$ci = 0; 
foreach ($html->find('.yfnc_datamodoutline1 .yfnc_tabledata1') as $element){ 
    $symbols = $element->outertext; 
    echo '<div class="'.$classes[$ci].'">'.$symbols.'</div>'; 
    $ci++; 
    if($ci == count($classes)) $ci = 0; 
} 
+0

감사합니다. 감사합니다. 감사합니다. foreach 루프를 사용 했으므로 왜 작동하지 않는지 이해할 수 없었습니다. – Suzed