Loop 방법: 1. for 문을 사용하여 배열을 탐색합니다. 2. foreach() 문을 사용하여 배열을 탐색합니다. 3. list() 및 Each() 함수와 함께 while 문을 사용하여 배열을 탐색합니다. 4. key() , current(), next() 및 기타 포인터 함수와 함께 while 문을 사용하여 배열을 탐색합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
1 for 루프를 사용하여 배열을 탐색합니다
conut($arr);
. 배열 요소 번호.
for 루프는 순수 인덱스 배열을 탐색하는 데에만 사용할 수 있습니다! ! ! !
연관 배열이 있는 경우 count는 두 배열의 총 개수를 계산하고 for 루프를 사용하여 혼합 배열을 순회하므로 배열이 범위를 벗어나게 됩니다! !
예:
$arr = array(1,2,3,5,6,7); $num = count($arr); //count最好放到for外面,可以让函数只执行一次 echo "数组元素的个数{$num}<br/>"; for($i=0;$i<$num;$i++){ echo "{$i}==>{$arr[$i]}<br/>"; }
2. forEach 루프는 배열을 탐색합니다.
foreach는 모든 유형의 배열을 탐색할 수 있습니다. ! !
예:
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
예를 들어 다음 배열을 구문 분석합니다.
$h51701 = array( "group1"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group2"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ), "group3"=>array( array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男"), array("name"=>"张三","age"=>14,"sex"=>"男") ) ); foreach ($h51701 as $key => $value) { echo "{$key}<br><br>"; foreach ($value as $key1 => $value1) { echo "第".($key1+1)."个同学<br>"; foreach ($value1 as $key2 => $value2) { echo "{$key2}==>{$value2}<br>"; } echo "<br>"; } echo "------------------------<br>"; }
3. list(), Each(), while()을 사용하여 배열을 탐색합니다.
(핵심 사항) list(): 추가하는 데 사용됩니다. 목록 함수의 각 매개변수에 할당된 배열 값의 각 요소입니다. (목록 함수의 매개변수는 배열의 요소 수보다 작거나 같아야 합니다.)
참고:
① list()가 배열을 구문 분석할 때 인덱스 배열만 구문 분석하는 경우
② 목록은 선택적으로 수행할 수 있습니다. 빈 매개변수를 통해 배열을 구문 분석합니다. 값
(강조) 각각(): 배열의 현재 포인터가 있는 키-값 쌍을 반환하는 데 사용됩니다! 그리고 포인터를 한 자리 뒤로 이동합니다.
반환 값: 포인터에 다음 숫자가 있으면 배열을 반환합니다. 인덱스 배열(0-키, 1-값) 및 연관 배열("키"-키, "값"-값)을 포함합니다. 포인터에 다음 숫자가 없으면 false를 반환합니다. Each()를 사용하여 탐색하면 포인터는 마지막 숫자 옆에 사용됩니다. 즉, Each()를 다시 사용하면 항상 false를 반환합니다.
그래도 사용해야 한다면 재설정()을 사용해야 합니다. $arr); 배열 포인터를 재설정합니다.
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr);
$arr = array(1,2,3,"one"=>4,5,6,7); foreach($arr as $value){ echo "{$item}<br>"; } foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>"; }
while(true){ $a = each($arr); if($a){ echo "{$a[0]}-->{$a[1]}<br>"; echo "{$a['key']}-->{$a['value']}<br>"; }else{ break; } }
② prev: 배열 포인터를 한 자리 앞으로 이동합니다. 그리고 false가 반환되지 않으면 이전 숫자의 값을 반환합니다
③ end: 배열 포인터를 마지막 숫자로 이동하고 빈 배열이 false를 반환합니다
④ 재설정: 배열 포인터를 복원합니다. 첫 번째 자리 비트로. 그리고 첫 번째 값을 반환합니다. false를 반환합니다
⑤ key: 현재 포인터가 있는 키를 반환합니다.
while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; } reset($arr); while(list($key,$value) = each($arr)){ echo "{$key}-->{$value}<br>"; }
권장 학습: "
PHP 비디오 튜토리얼》
위 내용은 PHP에서 배열을 반복하는 여러 가지 방법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!