<?php
header("Content-Type: text/html; charset=UTF-8");
$arr=array('春','夏','秋','冬');
//1 数组遍历的常规方法
// 该方法只能对索引数组(下标为数字的)好使,对于关联数字(字符串下标)不能用
echo '一:<h2>PHP 常规for循环数组 <em>适用:索引数组</em></h2>';
for($i=0,$len=count($arr);$i<$len;$i++){
echo $arr[$i];
}
//2. foreach遍历数组
echo '<h2>二:PHP foreach用法 <em>适用:索引和关联数组</em></h2>';
foreach($arr as $k=>$v){
echo $k,'~~~~',$v,'<br/>';
}
foreach($arr as $v){
echo '~~~~',$v;
}
echo '<hr/>';
//4. list 用法 list不会重置指针
echo '<h2>三:PHP list用法 不会重置指针 list左侧分别对应右侧数则(设为$arr) $arr[0] $arr[1]...$arr[n] 从左到右对应,然后从右到左赋值<em>适用:索引数组、关联数组得注意使用</em></h2>';
list($spring,$summer,$autumn,$winter)=$arr;
echo $spring,$summer,$autumn,$winter;
reset($arr); //重置数组指针,指向第一个单元
//3.
//each遍历数组 注意each不会对指针进行重置
echo '<h2>四:PHP each打印的格式</h2>';
print_r(each($arr)); //Array ( [1] => 春 [value] => 春 [0] => 0 [key] => 0 )
echo '<br />';
reset($arr); //重置数组指针
echo '<h2>PHP each用法 <em>适用:索引和关联数组</em></h2>';
while($ceil=each($arr)){
//echo $ceil[1],'<br/>';
echo $ceil['value'],'<br/>';
}
if(each($arr)==false){
echo '指针已到最后了';
reset($arr);
};
//5.
echo '<h2>五:current next数组指针 end(),key(),next(),prev() 和 reset()。 <em>适用:索引和关联数组</em></h2>';
echo current($arr);
echo next($arr);
echo prev($arr);
echo end($arr);
reset($arr);
echo current($arr);
//6.
echo '<h2>六:PHP key方法 <em>适用:索引数组</em></h2>';
$array = array(
'fruit1' => 'apple',
'fruit2' => 'orange',
'fruit3' => 'grape',
'fruit4' => 'apple',
'fruit5' => 'apple');
while($v=current($array)){
if($v=='orange'){//获取 value为orange的key,键名
echo key($array);
}
next($array);
}
?>
数组循环
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)