php中用foreach来操作数组的代码


Posted in PHP onJuly 17, 2011

foreach()有两种用法:

foreach(array_name as $value) 
{ 
statement; 
}

这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一 步,也就是下次循环回得到下一个元素。
foreach(array_name as $key => $value) 
{ 
statement; 
}

这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以 是下标值,也可以是字符串。比如book[0]=1中的"0",book[id]="001"中的"id".
程序实例1:
<?php 
/*-------------------------------------------------------------------------*/ 
/* foreach example 1: value only */ 
echo "foreach example 1: value only ".'<br />'; 
$a = array(1, 2, 3, 17); 
foreach ($a as $v) { 
echo "Current value of ".$a.":". $v."<br />"; 
} 
?> 
// 运行结果 
foreach example 1: value only 
Current value of $a: 1 
Current value of $a: 2 
Current value of $a: 3 
Current value of $a: 17

2
/*-------------------------------------------------------------------------*/ 
/* foreach example 2: value (with key printed for illustration) */ 
echo '<br />'.'<br />'."foreach example 2: value (with key printed for illustration) ".'<br />'; 
$a = array(1, 2, 3, 17); 
$i = 0; /* for illustrative purposes only */ 
foreach ($a as $v) { 
echo ""$a[$i] => $v".'<br />'; 
$i++; 
} 
// 程序运行结果 
foreach example 2: value (with key printed for illustration) 
$a[0] => 1 
$a[1] => 2 
$a[2] => 3 
$a[3] => 17

3
/*-------------------------------------------------------------------------*/ 
/* foreach example 3: key and value */ 
echo '<br />'.'<br />'."foreach example 3: key and value ".'<br />'; 
$a = array( 
"one" => 1, 
"two" => 2, 
"three" => 3, 
"seventeen" => 17 
); 
foreach ($a as $k => $v) { 
echo ""$a[$k] => $v".'<br />'; 
} 
// 程序运行结果 
foreach example 3: key and value 
$a[one] => 1 
$a[two] => 2 
$a[three] => 3 
$a[seventeen] => 17

4
/*-------------------------------------------------------------------------*/ 
/* foreach example 4: multi-dimensional arrays */ 
echo '<br />'.'<br />'."foreach example 4: multi-dimensional arrays ".'<br />'; 
$a = array(); 
$a[0][0] = "a"; 
$a[0][1] = "b"; 
$a[1][0] = "y"; 
$a[1][1] = "z"; 
foreach ($a as $v1) { 
foreach ($v1 as $v2) { 
echo "$v2"n"; 
} 
} 
// 程序运行结果 
foreach example 4: multi-dimensional arrays 
a b y z

5
/*-------------------------------------------------------------------------*/ 
/* foreach example 5: dynamic arrays */ 
echo '<br />'.'<br />'."foreach example 5: dynamic arrays ".'<br />'; 
foreach (array(1, 2, 3, 4, 5) as $v) { 
echo "$v"n"; 
} 
// 程序运行结果 
foreach example 5: dynamic arrays 
1 2 3 4 5

也可以这么用:
$messageNav['首页'] =ROOT_PATH; 
$messageNav['人才交流'] ="#" 
$messageNav['动态专栏'] ="hragent/cn/" 
<?php $i = 0;foreach ($messageNav as $key=>$value):?> 
<?php if ($i != count($messageNav) - 1):?> 
<a href="<?=$value?>"><?=$key?></a>> 
<?php else:?> 
<a href="<?=$value?>" class="onlink"><?=$key?></a> 
<?php endif;?> 
<?php $i++;endforeach;?>
PHP 相关文章推荐
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
PHP反转字符串函数strrev()函数的用法
Feb 04 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
php生成curl命令行的方法
Dec 14 PHP
PHP使用file_get_content设置头信息的方法
Feb 14 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
Oct 15 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 PHP
thinkphp 框架数据库切换实现方法分析
May 18 PHP
如何在PHP中使用数组
Jun 09 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 PHP
PHP Undefined index报错的修复方法
Jul 17 #PHP
php max_execution_time执行时间问题
Jul 17 #PHP
PHP写杨辉三角实例代码
Jul 17 #PHP
php中截取中文字符串的代码小结
Jul 17 #PHP
9个PHP开发常用功能函数小结
Jul 15 #PHP
PHP 字符串正则替换函数preg_replace使用说明
Jul 15 #PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
Jul 14 #PHP
You might like
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
《纸船和风筝》教学反思
2014/02/15 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
关于运动会的口号
2014/06/07 职场文书
单位介绍信格式范文
2015/05/04 职场文书
导游带团欢迎词
2015/09/30 职场文书
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers