>백엔드 개발 >PHP 문제 >PHP에서 배열을 반복하는 여러 가지 방법은 무엇입니까

PHP에서 배열을 반복하는 여러 가지 방법은 무엇입니까

青灯夜游
青灯夜游원래의
2021-11-29 18:01:264779검색

Loop 방법: 1. for 문을 사용하여 배열을 탐색합니다. 2. foreach() 문을 사용하여 배열을 탐색합니다. 3. list() 및 Each() 함수와 함께 while 문을 사용하여 배열을 탐색합니다. 4. key() , current(), next() 및 기타 포인터 함수와 함께 while 문을 사용하여 배열을 탐색합니다.

PHP에서 배열을 반복하는 여러 가지 방법은 무엇입니까

이 튜토리얼의 운영 환경: 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}0c6dc11e160d3b678d68754cc175188a0c6dc11e160d3b678d68754cc175188a";
  foreach ($value as $key1 => $value1) {
   echo "第".($key1+1)."个同学0c6dc11e160d3b678d68754cc175188a";
   foreach ($value1 as $key2 => $value2) {
    echo "{$key2}==>{$value2}0c6dc11e160d3b678d68754cc175188a";
   }
   echo "0c6dc11e160d3b678d68754cc175188a";
  }
  echo "------------------------0c6dc11e160d3b678d68754cc175188a";
 }

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[&#39;key&#39;]}-->{$a[&#39;value&#39;]}<br>";  
  }else{   break;
  }
}

4. 배열 포인터를 사용하여 배열을 탐색합니다.

① 다음: 배열 포인터를 한 비트 뒤로 이동합니다. 그리고 다음 숫자의 값을 반환합니다. false는 반환되지 않습니다.

② 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.