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 相关文章推荐
域名查询代码公布
Oct 09 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
php explode函数实例代码
Feb 27 PHP
PHP递归算法的详细示例分析
Feb 19 PHP
PHP 安全检测代码片段(分享)
Jul 05 PHP
zend framework中使用memcache的方法
Mar 04 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
php5.6.x到php7.0.x特性小结
Aug 17 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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
深入Nginx + PHP 缓存详解
2013/07/11 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
linux比较文件内容的命令是什么
2015/09/23 面试题
医院信息公开实施方案
2014/05/09 职场文书
商场促销活动总结
2014/07/10 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
2014年村委会工作总结
2014/11/24 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android