비록 내가 foreach를 사용하고 있지만,배열에 대해 어느 것이 더 잘 처리됩니까?
for(i=0;i<varlength;i++)
를 사용하면 몇 가지 차이가 있는지 궁금 해서요, 어떻게 php 프로세스() 및 foreach() 다르게?
비록 내가 foreach를 사용하고 있지만,배열에 대해 어느 것이 더 잘 처리됩니까?
for(i=0;i<varlength;i++)
를 사용하면 몇 가지 차이가 있는지 궁금 해서요, 어떻게 php 프로세스() 및 foreach() 다르게?
조금 더 빨리, 그러나 다음 사항을 고려하십시오 foreach는 함께
$bar = array("cow"=>"moo", "cat"=>"meaw", "dog"=>"barf");
foreach($bar as $key => $value){
echo "The ".$key." goes ".$value.".<br>";
}
thats 좋은 점 –
이것은 'for'또는 'foreach'와 관련이 없습니다. PHP는 큰 따옴표로 묶인 문자열 내의 변수를 검색하여 더 많은 처리를 추가하기 때문에 단순히 문자열을 초기화하면 큰 따옴표를 사용하지 마십시오. $ {{{{{{{{{{}}} {$ key} {$ key}가''$ {{{{{{{}}} '로 바뀔 수 있습니다. . $ 키. '간다'. $ 값. '.
'(연결 사용). –
@Amil : RobertPitt가 어떻게 잘못되었는지에 대한 실질적인 예를 들어 질문에 게시 된 링크를 참조하십시오. – Mchl
성능에 차이가있는 경우에는 거의 무시해도 좋습니다. foreach
을 계속 사용합니다. 여기서 배열에 대해 반복을 수행하는 것이 더 분명합니다 (foreach는 반복 구현 클래스를 반복하는 데 사용됩니다)
phpbench에 따르면, 그 차이는 대략 276 % 인 것으로 보인다 (로버트의 코멘트 링크 참조). 무시할 수 없지만 대부분의 경우에는 의미가 없습니다. for 루프는 더 빠릅니다. 몇 천 개가 반복되는 경우 누가 신경 써야할지 모르겠지만 50 만 개가 반복되는 경우 문제가 될 수 있습니다. – Erik
이 페이지의 테스트를 모두 봅니다. 당신이 무엇을하는지에 따라 foreach()보다 더 느려질 수 있습니다. 평균 PHP 중 가장 느린 부분이 외부 데이터 소스 (대부분의 경우 데이터베이스)와 통신한다는 점을 감안할 때 나는 여전히 무시할 만하다고 주장합니다. – Mchl
벤치 마크의 경우 : http://www.phpbench.com/ – RobertPitt