$name = array(
'孟子','孔子','孙子','老子'
);
while($ele = each($name)){
$key = $ele['key']; // == $ele[0]
$value = $ele['value']; // $ele[1]
var_dump($key,$value);
echo "<br>";
}
这样做虽然不常用但是对理解数组指针的概念很有用处,(最好的还是用foreach)
还能升级,利用List结构
List结构就是利用一个索引数组,同时初始化多个变量
$arr = array(0=>"some",1=>"many",2=>"much");
list($v1,$v2,$v3) = $arr;
var_dump($v1,$v2,$v3);
所以就优化为这样
while(list($key,$value) = each($name)){
// $key = $ele['key']; // == $ele[0]
// $value = $ele['value']; // $ele[2]
var_dump($key,$value);
echo "<br>";
}
如果是使用foreach的话,foreach内置reset()函数,在调用完foreach的时候,系统指针就会重新指向第一个,这儿就意味着不需要在foreach之前调用reset()函数,但是while就不一样,再循环完毕之后指针就不会指向第一个这是说明在使用while的时候需要使用reset函数;下面这个就能看好的解释了