1.each
의 사용법 먼저 다음과 같이 설명된 API
array each ( array &$array )
api를 살펴보세요. each — 배열의 현재 키/값 쌍을 반환하고 배열 포인터를 한 단계 앞으로 이동합니다.
먼저 반환된 배열이 어떻게 생겼는지 볼까요?<?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~天 */ ?>
함수가 아니라 언어 구조입니다. 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键 ?>
이 알림이 반환되는 이유는 무엇입니까? ~40~20은 무엇입니까?
답변: 이는 목록이 할당되는 방식과 관련됩니다.
우선: 오른쪽 배열을 무시하고 목록의 변수를 왼쪽에서 오른쪽으로 살펴보세요. be $a = 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 $arr = array('你','若','安','好','便','是','晴','天'); for(;list($k,$v)=each($arr);){ echo $k,'~',$v,'<br />'; } /* return: 0~你 1~若 2~安 3~好 4~便 5~是 6~晴 7~天 */ ?>
위 내용은 각각의 사용 예에 대한 자세한 설명과 PHP 목록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!