php中的foreach循环

PHP中的foreach语句,常用于遍历数组。

foreach一般有两种使用方式:

(1)只取数组的值,不取数组的下标;

(2)取数组值,同时也取数组的下标

以下面的例1和例2来解释其用法:

例1:只取值,不取下标

$member=array(
    ‘201201‘=>‘Tom‘,
    ‘201203‘=>‘Jack‘,
    ‘201211‘=>‘James‘,
    ‘201306‘=>‘Martin‘,
    ‘201605‘=>‘Lucy‘,
    ‘201612‘=>‘Kim‘,);//新建一个数组,且包含不同的下标
echo "该商店的会员有";
foreach($member as $name){
    echo $name.",";
};

输出结果为:该商店的会员有Tom,Jack,James,Martin,Lucy,Kim,

所以,使用foreach且只取数组的值时其使用方法为:

<?php
foreach(数组 as 下标){
//执行语句
}

(2)既取数组值,又取数组下标

$member=array(
    ‘201201‘=>‘Tom‘,
    ‘201203‘=>‘Jack‘,
    ‘201211‘=>‘James‘,
    ‘201306‘=>‘Martin‘,
    ‘201605‘=>‘Lucy‘,
    ‘201612‘=>‘Kim‘,);//新建一个数组,且包含不同的下标
foreach($member as $num=>$name){
    echo $name."的会员办理月份是".$num."<br>";
};

此时的输出结果为:

Tom的会员办理月份是201201
Jack的会员办理月份是201203
James的会员办理月份是201211
Martin的会员办理月份是201306
Lucy的会员办理月份是201605
Kim的会员办理月份是201612

所以,使用foreach同时取数组的值和数组的下标时其使用方法为:

<?php
foreach(数组 as 下标=>值){
//执行语句
}

原文地址:https://www.cnblogs.com/tanchangsha/p/10260098.html

时间: 2024-11-29 12:38:39

php中的foreach循环的相关文章

集合中的 for-Each循环

 数组的加强型的for-Each循环很简单,我们再来看一下集合中的for-Each 循环又是怎么样的.我们都知道集合中的遍历都是通过迭代(iterator)完成的.也许有人说,也可以按照下面的方式来遍历集合,不一定非要使用迭代: 1 List<String> list = new LinkedList<String>(); 2 list.add("a"); 3 list.add("b"); 4 list.add("c");

JAVA中的for-each循环与迭代

在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable<T>接口(位于java.lang包中),实现这个接口允许对象成为 "foreach" 语句的目标,而此接口中的唯一方法,实现的就是返回一个在一组 T 类型的元素上进行迭代的迭代器. 一.迭代器Iterator 接口:Iterator<T> 1 public interface Iterator<E>{ 2 3 boolean h

java中的foreach循环

foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本. foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句.从英文字面意思理解foreach也就是“for 每一个”的意思.实际上也就是这个意思. foreach的语句格式: for(元素类型t 元素变

PHP和Java中foreach循环的用法区别

1.foreach语句介绍: ①PHP: foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息. ②Java: foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便.foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本.foreach并不是一个

巧用array_map()和array_reduce()替代foreach循环

1.array_reduce( $arr , callable $callback ) 使用回调函数迭代地将数组简化为单一的值. 其中$arr 为输入数组,$callback($result , $value)接受两个参数,$result为上一次迭代产生的值,$value是当前迭代的值. 使用array_reduce()替代foreach()循环最常用的一个业务场景也许就是数组求和,比如: 1 $arr = array('1','2','3'); //计算数组中数字的和 2 $sum = 0;

foreach循环里不能remove/add元素的原理

foreach循环 ? ?? foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素.Java语言从JDK 1.5.0开始引入foreach循环.在遍历数组.集合方面,foreach为开发人员提供了极大的方便.通常也被称之为增强for循环. ? ?? 在日常开发中,foreach循环用的非常多,但是有一点要非常小心,就是不能在这个循环里对数组或者集合里的元素进行remove或者add操作,否则会抛出java.util.Concurr

C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响)

C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响),如以下代码将无法通过编译. foreach (int x in myArray) { x++; //错误代码,因为改变了元素的值 Console.WriteLine(x); } 如果要让自定义的数据类型支持foreach循环,则该类型必须实现IEnumerable<T>接口,且存在对应此列表的IEnumerator<T>实现. 实际上,在.Net的底层(IL语言层面)而言, foreach (var

关于“foreach循环”中遇到的几个问题总结

1.列表页面用"foreach循环"的时候数据没有显示,此时需要检查你对象模型中属性的首字母是否大写,切记不能大写(本人在做一个项目的时候,对象模型是别人建立的,属性首字母大写了,导致最后列表页面数据不显示,后来一问老师,说改为小写,瞬间好了).2.数据存储不到表里:在映射文件中没有指定数据表列名的时候,数据表列名必须和属性名相同(应用于hibername操作数据库中). 3.用foreach的时候,从其他页面跳到本页面数据内容不显示,此时在其他页面中必须把跳转到本页面的路径改为浏览器

【PHP】 foreach循环中变量引用的一道面试题

$a = array('a','b','c'); foreach($a as &$v){} foreach($a as $v){ } var_dump($a); 现在.不要打开浏览器,猜测一下.输出的结果是什么? 对引用比较了解的童鞋可能已经看出来了.正确答案是: array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> &string(1) "b"}  也