each()详解

<?php

//each()返回数组党建的键值对,并将数组指针向前下一个键值对移动一位
//其中有一个指针默认指向第一个键值对
//返回一个新数组:注意,新数组进行了分组,共四个元素

$userFrom['lily'] = 'wuhan';
$userFrom['mac'] = 'haungshi';
$userFrom['pit'] = 'shanghai';
print_r($userFrom);
echo '<br />';
if(is_array($userFrom)){
	echo 'userFrom is array';
}else{
	echo 'userFrom is not array';
}
echo '<br />';


$result=each($userFrom);
print_r($result);
echo $result['key'].'----'.$result['value'];
echo '<br />';

$result=each($userFrom);    //指针已后移一位到mac组
print_r($result);
echo $result['key'].'----'.$result['value'];
echo '<br />';

$result=each($userFrom);    //指针已后移一位到pit组
print_r($result);
echo $result['key'].'----'.$result['value'];
echo '<br />';

$result=each($userFrom);    //指针已移出数组,无输出结果;若想将指针归零可用reset($array)
print_r($result);
echo $result['key'].'----'.$result['value'];
echo '<br />';



//问题,如何通过循环访问整个数组???
//each()函数是有数据输出,可用布尔值理念,有输出则为true,无输出则问false
$a=each($userFrom);
while($a){
	echo $a['key'].'----'.$a['value'];
    echo '<br />';			
}					//为什么没有输出?each()已移出数组

$userAge['lily'] = 12;
$userAge['mac'] = 33;
$userAge['pit'] = 23;

while($a=each($userAge)){			//注意条件是个布尔值

	echo $a['key'].'----'.$a['value'];
	echo '<br />';
}					



?>

你可能感兴趣的:(PHP,each())