<?php
/*PHP 数组遍历 foreach 语法结构*/
/*foreach 语法结构用于遍历数组。
foreach()
PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。*/
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $age) {
echo $age,'<br />';
}
/*使用数组键值*/
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $key=>$age) {
echo $key,': ',$age,'<br />';
}
/*
当 foreach开始执行时,数组内部的指针会自动指向第一个单元,
这意味着不需要在 foreach 循环之前调用 reset()。
foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。
对返回的数组单元的修改也不会影响原数组(见下面例子),
但 foreach 循环运行到结束,原数组的内部指针将指向数组的结尾。*/
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $age) {
$age = $age+10;
echo $age,'<br />';
}
// 输出原数组
print_r($arr_age);
/*
* printr()函数用于打印变量,以更容易理解的形式展示。
* PHP版本要求:PHP 4.PHP 5.PHP7
* expression
* 要打印的变量,如果给出的是string、integer 或float类型变量,将打印变量值本身。如果给出的是array,
* 将会按照一定格式显示键和元素。obiect与数组类似。
* return:
* 可选,如果为true则不输出结果,而是将结果赋值给一个变量,false 则直接输出结果。
* 返回值
* return 如果设为true才有返回值,为一个易干理解的字符串信息。*/
/*
* 遍历多维数组
* foreach 语法结构只能用于遍历一维数组,要遍历多维数组,一般是将 foreach
* 嵌套递归使用或者将原数组分割为一维数组再进行 foreach 遍历。
*/
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>array("name"=>"小张", "age"=>25));
foreach ($arr_age as $age) {
if(is_array($age)){
foreach ( $age as $detail) {
echo $detail,'<br />';
}
} else {
echo $age,'<br />';
}
}
/*对多维数组的遍历处理就要根据实际的数据结构而采取最合适的处理方式。*/
/*PHP 数组是通过哈希表(HashTable)表实现的,因此 foreach 遍历数组时是依据元素添加的先后顺序来进行的。
如果想按照索引大小遍历,应该使用 for() 循环遍历。*/
$arr_age = array(18, 20, 25);
$num = count($arr_age);
for($i = 0; $i < $num; $i++){
echo $arr_age[$i]."<br />";
}
php------>数组遍历 foreach
最新推荐文章于 2024-07-15 16:40:29 发布