2010-12-31 7 views

답변

2

조금 더 빨리, 그러나 다음 사항을 고려하십시오 foreach는 함께

$bar = array("cow"=>"moo", "cat"=>"meaw", "dog"=>"barf"); 
foreach($bar as $key => $value){ 
echo "The ".$key." goes ".$value.".<br>"; 
} 
  • 당신이 쉽게 접근하여 값뿐만 아니라 키 값을 가지고있다. 이 작업은 연관 배열 작업을 통해보다 쉽고 명확 해집니다.
  • foreach는 읽기 쉽고 유지하기가 쉽습니다.
+0

thats 좋은 점 –

+0

이것은 'for'또는 'foreach'와 관련이 없습니다. PHP는 큰 따옴표로 묶인 문자열 내의 변수를 검색하여 더 많은 처리를 추가하기 때문에 단순히 문자열을 초기화하면 큰 따옴표를 사용하지 마십시오. $ {{{{{{{{{{}}} {$ key} {$ key}가''$ {{{{{{{}}} '로 바뀔 수 있습니다. . $ 키. '간다'. $ 값. '.
'(연결 사용). –

+0

@Amil : RobertPitt가 어떻게 잘못되었는지에 대한 실질적인 예를 들어 질문에 게시 된 링크를 참조하십시오. – Mchl

2

성능에 차이가있는 경우에는 거의 무시해도 좋습니다. foreach을 계속 사용합니다. 여기서 배열에 대해 반복을 수행하는 것이 더 분명합니다 (foreach는 반복 구현 클래스를 반복하는 데 사용됩니다)

+0

phpbench에 따르면, 그 차이는 대략 276 % 인 것으로 보인다 (로버트의 코멘트 링크 참조). 무시할 수 없지만 대부분의 경우에는 의미가 없습니다. for 루프는 더 빠릅니다. 몇 천 개가 반복되는 경우 누가 신경 써야할지 모르겠지만 50 만 개가 반복되는 경우 문제가 될 수 있습니다. – Erik

+1

이 페이지의 테스트를 모두 봅니다. 당신이 무엇을하는지에 따라 foreach()보다 더 느려질 수 있습니다. 평균 PHP 중 가장 느린 부분이 외부 데이터 소스 (대부분의 경우 데이터베이스)와 통신한다는 점을 감안할 때 나는 여전히 무시할 만하다고 주장합니다. – Mchl

관련 문제