0

0

php数组中foreach遍历数组的使用实例详解(图)

黄舟

黄舟

发布时间:2017-05-04 11:48:04

|

7628人浏览过

|

来源于php中文网

原创

什么是foreach遍历数组?

我们在使用foreach遍历数组时,经常会由于概念不清而出错,下面简要介绍一下常用的foreach操作。

(PHP 4, PHP 5, PHP 7)

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。

foreach遍历数组两种语法

立即学习PHP免费学习笔记(深入)”;

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。 

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。 

自PHP 5 起,还可能遍历对象。 

注意:当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。

注意:除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在 foreach 循环中或循环后都不要依赖数组指针的值。 

自 PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。 

$value 的引用仅在被遍历的数组可以被引用时才可用(例如是个变量)。以下代码则无法运行:

注意:数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁。foreach 不支持用“@”来抑制错误信息的能力。

下面是php foreach遍历数组的实例

1.要遍历的数组是一维数组,比较简单。若是单一数组,用两种方法分别表示,如下:

";
}
echo "
"; foreach ($array as $key =>$value){ echo $key."--".$value."
"; } ?>

输出结果为:

1445.png

ReportPlus数据报表中心小程序
ReportPlus数据报表中心小程序

ReportPlust意在打造一套精美的数据报表模板,里面高度封装日历组件、表格组件、排行榜组件、条形进度条组件、文本块组件以及ucharts的多个图表组件,用户只需要按照虚拟数据的格式,传特定数据即可方便、快捷地打造出属于自己的报表页面。该小程序主要使用了ucharts和wyb-table两插件实现的数据报表功能。 特点使用的是uni-app中最受欢迎的图表uCharts插件完成图表展示,该插件

下载

2.若是一维关联数组,显示如下,注意key的值是不同的:

"PHP中文网","网站2"=>"百度","网站3"=>"搜狗","网址"=>"www.php.cn");
foreach ($array as $value){
    echo $value."
"; } echo "
"; foreach ($array as $key =>$value){ echo $key."--".$value."
"; } ?>

遍历结果为:

1446.png

3.遍历二维数组时,稍微麻烦一点,此时的value值是一个数组,由此可以衍生多种操作数组的方法。下面先遍历一下,基本的二维数组:

";
}
?>

遍历结果如下:

1447.png

采用第二种方法,遍历数组时,要注意key的取值,不要和数组id值弄混;

$value){
    echo "key =".$key."
"; print_r($value); echo "
"; } ?>

遍历结果如下:

1448.png

此外,经常会出现要求将二维数组某一列变为一维数组,此时要将value中对应的字段取出,放在一维数组中,若是用for循环操作,比较繁琐,用foreach较为简单,如下,获取当前数组的id列,和name列,分别存放在一维数组中:

"1","name"=>"PHP中文网"),
    array("id"=>"2","name"=>"www.php.cn"),
    array("id"=>"3","name"=>"百度"),
    array("id"=>"4","name"=>"搜狗")
); //二维数组定义
//获取某一列作为一维数组
$idArr = array();//id列
$nameARR = array();//name列
foreach($array as $key => $value){
    $arr = $value["id"];
    $idArr =$arr;  //存入ID列
    $name = $value["name"];
    $nameARR = $name;  //存入name列
    print_r($idArr);
    print_r($nameARR);
}
?>

遍历结果为:

1449.png

【相关教程推荐】

1. 相关专题推荐:《php数组(Array)

2. 相关视频课程推荐: 《用foreach循环来遍历:索引与关联数组

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

8

2026.01.12

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

101

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

55

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

86

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

447

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

49

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号