php------>数组遍历 foreach

<?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 />";
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒菡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值