> 백엔드 개발 > PHP 튜토리얼 > PHP에서 배열을 순회하는 방법을 간략하게 설명하세요.

PHP에서 배열을 순회하는 방법을 간략하게 설명하세요.

墨辰丷
풀어 주다: 2023-03-31 13:54:01
원래의
2193명이 탐색했습니다.

PHP에서 가장 유연한 것은 배열이며, 많은 데이터가 배열로 표시됩니다. 다음은 필요에 따라 선택할 수 있는 배열 탐색 방법입니다.

오늘 친구가 나에게 PHP에서 배열을 탐색하는 방법에 대해 질문했고 나는 그녀에게 몇 가지를 말해주었습니다. 그런데 요약이 불완전하면 지적해 주세요

먼저 foreach()

foreach()는 배열의 데이터를 순회하는 가장 간단하고 효과적인 방법입니다. .

<?php 
    $urls= array(&#39;aaa&#39;,&#39;bbb&#39;,&#39;ccc&#39;,&#39;ddd&#39;); 
    foreach ($urls as $url){ 
      echo "This Site url is $url! <br />"; 
    } 
?>
로그인 후 복사

표시 결과:

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd
로그인 후 복사
로그인 후 복사
로그인 후 복사

두 번째, while()은 list() 및 Each()와 함께 사용됩니다.

<?php 
    $urls= array(&#39;aaa&#39;,&#39;bbb&#39;,&#39;ccc&#39;,&#39;ddd&#39;); 
    while(list($key,$val)= each($urls)) { 
      echo "This Site url is $val.<br />"; 
    } 
?>
로그인 후 복사

결과 표시:

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd
로그인 후 복사
로그인 후 복사
로그인 후 복사

셋째, for()는 for를 사용하여 배열을 순회합니다.

<?php 
    $urls= array(&#39;aaa&#39;,&#39;bbb&#39;,&#39;ccc&#39;,&#39;ddd&#39;); 
    for ($i= 0;$i< count($urls); $i++){ 
      $str= $urls[$i]; 
      echo "This Site url is $str.<br />"; 
    } 
?>
로그인 후 복사

결과 표시:

This Site url is aaa 
This Site url is bbb 
This Site url is ccc 
This Site url is ddd
로그인 후 복사
로그인 후 복사
로그인 후 복사

때때로 사람들은 배열을 순회하는 방법 중 어느 것이 더 빠른지 묻습니다. 간단한 테스트를 하면 이해하게 될 것입니다
============ 배열 탐색의 세 가지 속도를 테스트해 보겠습니다===========
일반적으로 탐색하는 방법에는 세 가지가 있습니다 배열: 메서드, for, while, foreach. 그 중 가장 간단하고 편리한 것은 foreach입니다. 먼저 50,000개의 첨자가 있는 1차원 배열을 순회하는 데 걸리는 시간을 테스트해 보겠습니다.

<?php 
  $arr= array(); 
  for($i= 0; $i< 50000; $i++){ 
  $arr[]= $i*rand(1000,9999); 
  } 
  function GetRunTime() 
  { 
  list($usec,$sec)=explode(" ",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 &#39;Used time of for:&#39;.round($time_used, 7).&#39;(s)<br /><br />&#39;; 
  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 &#39;Used time of while:&#39;.round($time_used, 7).&#39;(s)<br /><br />&#39;; 
  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 &#39;Used time of foreach:&#39;.round($time_used, 7).&#39;(s)<br /><br />&#39;; 
  ?>
로그인 후 복사

테스트 결과:

Used time of for:0.0228429(s) 
Used time of while:0.0544658(s) 
Used time of foreach:0.0085628(s)
로그인 후 복사

반복 테스트 후 결과에 따르면 동일한 배열을 순회하는 경우 foreach가 가장 빠르고 가장 느린 것은 while입니다. 원칙적으로 foreach는 배열의 복사본에서 작동하는 반면(배열 복사를 통해) while은 배열의 내부 인덱스를 이동하여 작동합니다. 일반적으로 foreach가 먼저 배열을 이동하기 때문에 while이 foreach보다 빠릅니다. 실행이 시작되면 복사되고 while은 내부 포인터를 직접 이동하지만 결과는 정반대입니다. 그 이유는 foreach는 PHP의 내부 구현인 반면 while은 일반적인 루프 구조이기 때문입니다. 따라서 일반 애플리케이션에서는 foreach가 간단하고 효율적입니다. PHP5에서는 foreach가 클래스 속성을 순회할 수도 있습니다.

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

일반적인 PHP 예외 처리 방법

PHP 배열 융합의 두 가지 방법

PHP WeChat 인터페이스는 QR 코드 생성 클래스를 구현합니다

위 내용은 PHP에서 배열을 순회하는 방법을 간략하게 설명하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿