>백엔드 개발 >PHP 튜토리얼 >PHP Each와 목록 사용법의 차이점 예

PHP Each와 목록 사용법의 차이점 예

伊谢尔伦
伊谢尔伦원래의
2017-06-23 11:29:071224검색

PHP에서 각각과 목록의 사용법을 주로 소개하고, 각각과 목록함수의 사용법을 예제 형식으로 분석하고, 목록 함수와 결합된 각각의 능력을 분석하여 arraytraversal, 구체적으로 구현합니다.

1. Each의 사용법

API를 먼저 살펴보세요

array Each(array &$array)

API는 다음과 같이 설명됩니다. Each - 현재 키/값 쌍을 반환합니다. 배열 포인터를 앞으로 이동합니다. 한 단계

먼저 반환된 배열이 어떻게 생겼는지 살펴볼까요?

<?php 
$arr = array(&#39;你&#39;,&#39;若&#39;,&#39;安&#39;,&#39;好&#39;,&#39;便&#39;,&#39;是&#39;,&#39;晴&#39;,&#39;天&#39;);
print_r(each($arr));
print_r(each($arr));
echo &#39;<hr />&#39;;
/*
返回
Array
(
  [1] => 你
  [value] => 你
  [0] => 0
  [key] => 0
)
Array
(
  [1] => 若
  [value] => 若
  [0] => 1
  [key] => 1
)
*/
//执行相同的一段代码,从‘你&#39;到‘若&#39;,说明each是会每执行一次,游标向数组尾部移动一步
//0和Key存放的是键
//1和value存放的是值
//因此each满足遍历数组的,得到当前的键和值,以及每执行一次,向尾部移动一步游标
//因此循环数组也可以用each这么写
reset($arr);
for(;$tmp=each($arr);){
  echo $tmp[0],&#39;~&#39;,$tmp[1],&#39;<br />&#39;;
}
/*
返回
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>

2. list의 사용법

먼저 API가 말하는 것을 살펴보겠습니다

array()와 마찬가지로 이것은 실제 함수가 아니라 언어 구조입니다. list()는 한 단계로 변수 집합에 값 ​​을 할당합니다.

예를 살펴보겠습니다:

<?php 
list($a,$b)=array(10,20);
echo $a,&#39;~&#39;,$b,&#39;<br />&#39;;
//返回10~20
?>

예, 변수 집합에 값을 할당할 수 있습니다

또 다른 예를 살펴보겠습니다.

<?php 
list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40);
echo $a,&#39;~&#39;,$b,&#39;~&#39;,$c,&#39;<br />&#39;;
//返回notice~40~20
//执行到$a的时候返回给我一个notice:说数组没有0键
?>

일반적인 생각에 따르면 10~20~40이 반환되어야 합니다.

이게 왜 공지에요~ 40~20은요?

답변: 이는 목록의 작동 메커니즘과 관련됩니다. 이것은 목록이 할당되는 방식입니다.

우선: 오른쪽 배열을 무시하고 목록의 변수를 왼쪽에서 오른쪽으로 살펴보세요. = arr[0] $b=arr [1] $c=arr[3]

그런 다음: 오른쪽에서 왼쪽으로 값 할당을 시작합니다. 할당 순서는 $c=arr[3] $b=arr[입니다. 1] $a=arr[0]

So$ c=20 $b = 40 arr[0]이 없으므로 $a는 경고를 표시합니다

3 각각과 목록을 사용하여 배열 순회를 구현합니다.

아아아아

위 내용은 PHP Each와 목록 사용법의 차이점 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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