foreach와 while 루프의 차이점 및 성능 비교
foreach와 while은 모두 PHP에서 루프를 수행하는데, foreach와 while 루프의 차이점은 무엇인가요? 어떤 것이 더 나은 성능을 발휘하나요? foreach와 while 루프의 차이점과 성능 비교를 소개해 드리겠습니다.
while 루프에서 Perl은 입력 라인을 읽고 이를 변수에 저장한 후 루프 본문을 실행합니다. 그런 다음 다시 돌아가서 다른 입력 라인을 찾습니다.
foreach 루프에서는 전체 줄 입력 연산자가 목록의 컨텍스트에서 실행됩니다(foreach는 목록의 내용을 한 줄씩 처리해야 하기 때문입니다). 루프 실행을 시작하려면 먼저 모든 입력을 읽어야 합니다.
대용량 파일을 입력할 때 foreach를 사용하면 메모리를 많이 차지하게 됩니다. 둘 사이의 차이는 매우 분명할 것입니다. 따라서 가장 좋은 접근 방식은 일반적으로 while 루프의 단축형을 사용하여 한 번에 한 줄씩 처리하도록 하는 것입니다.
특정 문이나 단락을 반복적으로 실행하려는 경우 C#에서는 현재 작업에 따라 사용할 수 있는 4가지 루프 문 옵션을 제공합니다.
. 성명서
. foreach 문
. while문
. do 문
1. for
for 문은 포함된 문을 몇 번이나 실행해야 하는지 미리 알 때 특히 유용합니다. 정규 구문을 사용하면 조건이 true일 때 내부 문(및 루프 표현식 )을 반복적으로 실행할 수 있습니다.
for(초기화; 조건부; 루프) 내부 문 초기화, 조건부 및 루프가 모두 선택된다는 점에 유의하세요. 조건을 생략하면 종료하기 위해 점프 문(break 또는 goto)이 필요한 무한 루프를 생성할 수 있습니다.for (;;) { break; // 由于某些原因 }
for 루프의 세 매개변수 모두에 여러 개의 쉼표로 구분된 명령문을 동시에 추가할 수 있다는 것입니다. 예를 들어 변수 2개를 초기화하고 조건문 3개를 갖고 변수 4개를 반복할 수 있습니다.
2.foreach오랫동안 Visual Basic 언어에 존재했던 기능은 For Each 문을 사용하여 열거형을 수집하는 것입니다. C#에는 foreach 문을 통해 열거형을 수집하는 명령도 있습니다. foreach(표현식의 유형 식별자) 포함된 문 루프 변수는 유형과 식별자로 선언되며 표현식은 컬렉션에 해당합니다. 루프 변수는 루프가 실행 중인 컬렉션 요소를 나타냅니다. 3.whileincluded 문을 0회 이상 실행하려는 경우 while 문이 바로 여러분이 찾고 있는 것입니다. while(조건) 포함 문 조건문 - 부울 표현식이기도 합니다. - 포함된 명령문이 실행되는 횟수를 제어합니다. break 및 continue 문을 사용하여 for 문과 정확히 동일한 방식으로 작동하는 while 문의 명령문 실행을 제어할 수 있습니다. 4, doC#에서 사용할 수 있는 마지막 루프 문은 do 문입니다. 초기 루프 이후에만 조건을 확인한다는 점에서 while 문과 매우 유사합니다.do { 内含语句 } while (条件);
루프에서 배열 "읽기" 작업이 수행되므로 foreach가 while보다 빠릅니다.
foreach ($array as $value) { echo $value; } while (list($key) = each($array)) { echo $array[$key]; }
foreach ($array as $key => $value) { echo $array[$key] = $value . '...'; } while (list($key) = each($array)) { $array[$key] = $array[$key] . '...'; }
1차원 배열을 탐색하는 데 걸리는 시간:
<?php /* * @ Author: Lilov * @ Homepage: www.111cn.net * @ E-mail: zhongjiechao@gmail.com * */ $arr = array(); for($i = 0; $i < 50000; $i++){ $arr[] = $i*rand(1000,9999); } function GetRunTime() { list($usec,$sec)=exp lode(" ",microtime()); return ((float)$usec+(float)$sec); } ###################################### $time_start = GetRunTime(); for($i = 0; $i < count($arr); $i++){ $str .= $arr[$i]; } $time_end = GetRunTime(); $time_used = $time_end - $time_start; echo 'Used time of for:'.round($time_used, 7).'(s)<br><br>'; unset($str, $time_start, $time_end, $time_used); ###################################### $time_start = GetRunTime(); while(list($key, $val) = each($arr)){ $str .= $val; } $time_end = GetRunTime(); $time_used = $time_end - $time_start; echo 'Used time of while:'.round($time_used, 7).'(s)<br><br>'; unset($str, $key, $val, $time_start, $time_end, $time_used); ###################################### $time_start = GetRunTime(); foreach($arr as $key => $val){ $str .= $val; } $time_end = GetRunTime(); $time_used = $time_end - $time_start; echo 'Used time of foreach:'.round($time_used, 7).'(s)<br><br>'; ###################################### ?>
각각 for, while 및 foreach에 해당
0.1311650
0.1666853
0.123744 0
위 내용은 foreach와 while 루프의 차이점 및 성능 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











C 언어 기능은 코드 모듈화 및 프로그램 구축의 기초입니다. 그들은 선언 (함수 헤더)과 정의 (기능 본문)로 구성됩니다. C 언어는 값을 사용하여 기본적으로 매개 변수를 전달하지만 주소 패스를 사용하여 외부 변수를 수정할 수도 있습니다. 함수는 반환 값을 가질 수 있거나 가질 수 있으며 반환 값 유형은 선언과 일치해야합니다. 기능 명명은 낙타 또는 밑줄을 사용하여 명확하고 이해하기 쉬워야합니다. 단일 책임 원칙을 따르고 기능 단순성을 유지하여 유지 관리 및 가독성을 향상시킵니다.

H5. 미니 프로그램과 앱의 주요 차이점은 다음과 같습니다. 기술 아키텍처 : H5는 웹 기술을 기반으로하며 미니 프로그램 및 앱은 독립적 인 응용 프로그램입니다. 경험과 기능 : H5는 가볍고 사용하기 쉽고 기능이 제한되어 있습니다. 미니 프로그램은 가벼우 며 상호성이 우수합니다. 앱은 강력하고 부드러운 경험이 있습니다. 호환성 : H5는 크로스 플랫폼 호환성이며 애플릿 및 앱은 플랫폼에 의해 제한됩니다. 개발 비용 : H5는 개발 비용이 낮고 중간 미니 프로그램 및 최고 앱이 있습니다. 적용 가능한 시나리오 : H5는 정보 표시에 적합하고 애플릿은 가벼운 응용 프로그램에 적합하며 앱은 복잡한 기능에 적합합니다.

Photoshop에서 암호로 보호 된 PDF를 내보내십시오 : 이미지 파일을 엽니 다. "파일"을 클릭하십시오. & gt; "수출"& gt; "PDF로 수출". "보안"옵션을 설정하고 동일한 비밀번호를 두 번 입력하십시오. "내보내기"를 클릭하여 PDF 파일을 생성하십시오.

C 언어 기능은 재사용 가능한 코드 블록입니다. 입력, 작업을 수행하며 결과를 반환하여 모듈 식 재사성을 향상시키고 복잡성을 줄입니다. 기능의 내부 메커니즘에는 매개 변수 전달, 함수 실행 및 리턴 값이 포함됩니다. 전체 프로세스에는 기능이 인라인과 같은 최적화가 포함됩니다. 좋은 기능은 단일 책임, 소수의 매개 변수, 이름 지정 사양 및 오류 처리 원칙에 따라 작성됩니다. 함수와 결합 된 포인터는 외부 변수 값 수정과 같은보다 강력한 기능을 달성 할 수 있습니다. 함수 포인터는 함수를 매개 변수 또는 저장 주소로 전달하며 함수에 대한 동적 호출을 구현하는 데 사용됩니다. 기능 기능과 기술을 이해하는 것은 효율적이고 유지 가능하며 이해하기 쉬운 C 프로그램을 작성하는 데 핵심입니다.

vue 응용 프로그램을 개발할 때 라우터 폴더 아래에 index.js 파일에 vuerouter를 등록해야 할 필요성이 있으면 종종 라우팅 구성에 문제가 발생합니다. 특별한...

C와 C#은 유사성이 있지만 완전히 다릅니다. C는 프로세스 지향, 수동 메모리 관리 및 시스템 프로그래밍에 사용되는 플랫폼 의존 언어입니다. C#은 데스크탑, 웹 응용 프로그램 및 게임 개발에 사용되는 객체 지향, 쓰레기 수집 및 플랫폼 독립 언어입니다.

JavaScript의 DOM 노드에서 XPath 검색 방법에 대한 자세한 설명은 종종 XPath 표현식을 기반으로 DOM 트리에서 특정 노드를 찾아야합니다. 필요하다면 ...

이 기사에서 Console.log 출력의 차이에 대한 심층적 인 논의는 Console.log 함수의 출력 결과가 다른 이유를 분석합니다. 코드 스 니펫에는 URL 매개 변수 해상도가 포함됩니다 ...
