2012-09-21 2 views
1

다음과 같은 이상한 점이 있습니다. 해결할 수 없지만 루프가 고유 한 부분을 반환하지만 두 부분 모두 두 루프 전에 배열을 채우면 각 루프마다 하나씩 사용됩니다. . 당신이 나를 도울 수 있기를 바랍니다.Foreach 에코 배열은 1에 대해 3 개의 값을 반환합니다.

$aBuild[$iNumber] = $sOtherParts; 

배열에 일을 추가 :

$aBuild = array(); 
$part1 = "Test 1"; 
$part2 = "Test 2"; 
$aBuild = array(1=> $part1, 2 => $part2); 

은 그 때 나는 같은 루프에서 나는이 작업을 수행, 데이터베이스에서 데이터를 받고 foreach 루프가있다.

ksort($aBuild); 

foreach($aBuild as $values) 
{ 
    echo $values; 
} 

이 에코의 각 $ sOtherParts 한 번, 그러나 그 각각에 대해, 그것은 $의 PART1와 $ 파트 2를 추가, 그것에 :이 쿼리 foreach 루프의 끝에서, 나는이 할

처럼 이 :

고유 부분 시험 1 시험 2 또 다른 독특한 부분 시험 1 개 시험 2 정말 독특한 부분 테스트 1 테스트 2 요법 .. 독특한 부분 시험 1 개 시험 2

+0

'var_dump ($ aBuild);'값이 무엇인지 확인하고 반복/반향합니다. – Neverever

+1

'$ sOtherElement'는 어떻게 설정 되나요? – hjpotter92

답변

1

당신은뿐만 아니라 당신의 키를 반향한다. 그것은 아마 다음 줄이 원래의 배열에서 데이터를 교환 할 수 없습니다 것 :

$aBuild[$iNumber] = $sOtherParts; 

은 키를 인쇄하는 foreach 루프를 변경해보십시오 : 실제 코드를 보지 않고

ksort($aBuild); 

foreach($aBuild as $key => $value) 
{ 
    echo $key." => ".$value."<br />\n"; 
} 

, 그것은 말할 어렵다 . 에코 자동

또한 등 DOS 또는 배쉬 에코처럼 하나를 제공하지 않는 한

1

당신은, 에코 문장의 끝에 줄 바꿈이 필요합니다, 당신의 $의 inumber라고 var에 그냥 증가 변수 인 경우, 왜 단지 다음을 사용하지 마십시오 :

$ aBuild [] = $ sOtherParts;

그러면 ksort가 필요하지 않습니다.

+0

새 라인
과 함께 하시겠습니까? 부품을 올바른 순서로 주문하려면 iNumber가 필요합니다. – coder

+0

어떤 아이디어가 중복 된 부분의 문제를 해결하는 방법? – coder

+0

글쎄, 위의 코드에서, 코더 아니, 내가 그것을 실행하면 잘 작동하기 때문에. 추측해야했던 부분은 SQL 쿼리에서 여분의 부분을 추가하는 것이 었습니다. 다른 배열에서 내 자신의 foreach 루프를 수행하고 각 요소에 대해 표시된 추가 스 니펫을 실행하여 aBuild 배열에 추가했습니다. 그러나 그것은 완벽하게 작동했고, 나는 중복을 얻지 못했습니다. 사용중인 PHP 버전, 웹 페이지 또는 명령 줄을 통해 호출하는 방법을 알려주고 쿼리를 수행하고 aBuild 배열에 추가하는 코드를 표시 할 수 있습니까? 거기에 문제가있을 수 있습니다. –

관련 문제