이 글은 예제를 통해 PHP에서 각각과 목록의 사용법을 분석합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
1.각각의 사용법
API를 먼저 살펴보세요
각 배열( array &$array )
이는 API에 설명되어 있습니다. 각 — 배열의 현재 키/값 쌍을 반환하고 배열 포인터를 한 단계 앞으로 이동합니다
먼저 반환된 배열이 어떤 모습인지 살펴볼까요?
<?php $arr = array('你','若','安','好','便','是','晴','天'); print_r(each($arr)); print_r(each($arr)); echo '<hr />'; /* 返回 Array ( [1] => 你 [value] => 你 [0] => 0 [key] => 0 ) Array ( [1] => 若 [value] => 若 [0] => 1 [key] => 1 ) */ //执行相同的一段代码,从‘你'到‘若',说明each是会每执行一次,游标向数组尾部移动一步 //0和Key存放的是键 //1和value存放的是值 //因此each满足遍历数组的,得到当前的键和值,以及每执行一次,向尾部移动一步游标 //因此循环数组也可以用each这么写 reset($arr); for(;$tmp=each($arr);){ echo $tmp[0],'~',$tmp[1],'<br />'; } /* 返回 0~你 1~若 2~安 3~好 4~便 5~是 6~晴 7~天 */ ?>
2.목록 사용법
먼저 API가 무엇을 말하는지 살펴보겠습니다
array()와 마찬가지로 이는 실제 함수가 아니라 언어 구성입니다. list()는 한 단계로 변수 집합에 값을 할당합니다.
예를 살펴보겠습니다.
<?php list($a,$b)=array(10,20); echo $a,'~',$b,'<br />'; //返回10~20 ?>
예, 변수 집합에 값을 할당할 수 있습니다
또 다른 예를 살펴보겠습니다.
<?php list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40); echo $a,'~',$b,'~',$c,'<br />'; //返回notice~40~20 //执行到$a的时候返回给我一个notice:说数组没有0键 ?>
일반적인 생각에 따르면 10~20~40을 반환해야 합니다
이 공지는 왜~40~20이 돌아왔나요?
답변: 이는 목록의 작동 메커니즘과 관련이 있습니다.
우선, 오른쪽 배열을 무시하고 목록의 변수를 살펴보세요. 왼쪽에서 오른쪽으로 $a = arr[0] $b=arr[1] $c=arr[3]이어야 합니다.
그런 다음 오른쪽에서 왼쪽으로 값 할당을 시작합니다. 할당 순서는 $c=arr[3] $b=arr[1] $a=arr[0]
그래서 $c=20 $b = 40 arr[0]이 없으므로 $a는 경고를 표시합니다
3. 각각과 목록을 사용하여 배열 순회 구현
<?php $arr = array('你','若','安','好','便','是','晴','天'); for(;list($k,$v)=each($arr);){ echo $k,'~',$v,'<br />'; } /* return: 0~你 1~若 2~安 3~好 4~便 5~是 6~晴 7~天 */ ?>
이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.