深入解析php中的foreach函数

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

有两种语法:


代码如下:

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

例子1:


代码如下:

<?php
$arr=array(1,2,3,4);
foreach($arr as $value){
  echo $value."<br/>";
}
?>

例子2:


代码如下:

<?php
$arr=array(1,2,3,4);
foreach($arr as $key=>$value){
  echo $key."=====>".$value."<br/>";
}
?>

(0)

相关推荐

  • PHP中for与foreach的区别分析

    注意: 除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身.因此数组指针不会被 each() 结构改变,对返回的数组单元的修改也不会影响原数组. 1. 自php5起,foreach 还可能遍历对象的属性. 2. 自php5起,foreach 可以很容易地通过在 $value 之前加上 & 来修改数组的单元,此方法将以引用赋值而不是拷贝一个值. 复制代码 代码如下: <?php $arr = array(1, 2, 3, 4); foreach ($arr as

  • php循环语句 for()与foreach()用法区别介绍

    for 循环是 PHP 中最复杂的循环结构.它的行为和 C 语言的相似. for 循环的语法是: for (expr1; expr2; expr3) statement 第一个表达式(expr1)在循环开始前无条件求值一次. expr2 在每次循环开始前求值.如果值为 TRUE,则继续循环,执行嵌套的循环语句.如果值为 FALSE,则终止循环. expr3 在每次循环之后被求值(执行). 每个表达式都可以为空.expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE).这

  • 详解PHP中foreach的用法和实例

    在PHP中经常会用到foreach的使用,而要用到foreach,就必须用到数组.因此,在这篇文章中,我们一边讲数组,一边讲foreach. foreach有两种语法: 第一种:遍历给定的 数组语句 array_expression 数组.每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元). foreach (array_expression as $value) 第二种:同上,同时当前单元的键名也会在每次循环中被赋给变量 $key.

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

    foreach()有两种用法: 复制代码 代码如下: foreach(array_name as $value) { statement; } 这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一 步,也就是下次循环回得到下一个元素. 复制代码 代码如下: foreach(array_name as $key => $value) { statement; } 这里跟第一种方法的区别就是多了个$key,也就

  • PHP foreach循环使用详解与实例代码

    foreach基本语法如下: FOREACH ($array_variable as $value) { [code to execute] } or FOREACH ($array_variable as $key => $value) { [code to execute] } 在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数. 让我们来看一个例子.假设我们有下面的代码段: 复制代码 代码如下: $array1 = array(1,2,3,4,5

  • PHP中foreach循环中使用引用要注意的地方

    复制代码 代码如下: foreach ($array as &$row) { $row = explode('/', $row); } foreach ($array as $row) { //do something } 这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个 要这么写 复制代码 代码如下: foreach ($array as &$row) { $row = explod

  • PHP中的函数-- foreach()的用法详解

    PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像.这只是一种遍历数组简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.有两种语法,第二种比较次要但却是第一种的有用的扩展. 复制代码 代码如下: foreach (array_expression as $value)    statementforeach (array_expression as $key => $value)    statement 第一种格式遍历给

  • 深入解析php中的foreach函数

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息. 有两种语法: 复制代码 代码如下: foreach (array_expression as $value)    statementforeach (array_expression as $key => $value)    statement 例子1: 复制代码 代码如下: <?php$a

  • 深入解析php中的foreach问题

    前言:php4中引入了foreach结构,这是一种遍历数组的简单方式.相比传统的for循环,foreach能够更加便捷的获取键值对.在php5之前,foreach仅能用于数组:php5之后,利用foreach还能遍历对象(详见:遍历对象).本文中仅讨论遍历数组的情况. foreach虽然简单,不过它可能会出现一些意外的行为,特别是代码涉及引用的情况下.下面列举了几种case,有助于我们进一步认清foreach的本质.问题1: 复制代码 代码如下: $arr = array(1,2,3);fore

  • 深入解析C++中的虚函数与多态

    1.C++中的虚函数C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数.这种技术可以让父类的指针有"多种形态",这是一种泛型技术.所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法.比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议. 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Tab

  • 解析php中的escape函数

    采用js对URL中的汉字进行escape编码. <a href="" onclick="window.open('product_list.php?p_sort='+escape('我们'));">这样点击链接后的效时: 引用:http://127.0.0.1/shop/product_list.php?p_sort=PHP%u5F00%u53D1%u8D44%u6E90%u7F51生成了这样的效果, 很明显用PHP的urldecode()或者base6

  • 解析php中的fopen()函数用打开文件模式说明

    fopen() 函数用于在 PHP 中打开文件.此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件: 复制代码 代码如下: <?php$file=fopen("welcome.txt","r");?> 文件可能通过下列模式来打开:r : 只读.指针定位在文件的开头,如果文件不会报错.r+: 读/写.指针定位在文件的开头,如果文件不存会报错.w : 只写.打开并清空文件的内容,如果文件不存在,则创建新文件.w+: 读/写.打开

  • 初步解析Python中的yield函数的用法

    您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念. 如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,许多初学者都可以轻易写出如下函数: 清单 1. 简单输出斐波那契數列前 N 个数 def

  • 解析C++中的虚拟函数及其静态类型和动态类型

    虚拟函数是C++语言引入的一个很重要的特性,它提供了"动态绑定"机制,正是这一机制使得继承的语义变得相对明晰. (1)基类抽象了通用的数据及操作,就数据而言,如果该数据成员在各派生类中都需要用到,那么就需要将其声明在基类中:就操作而言,如果该操作对各派生类都有意义,无论其语义是否会被修改或扩展,那么就需要将其声明在基类中. (2)有些操作,如果对于各个派生类而言,语义保持完全一致,而无需修改或扩展,那么这些操作声明为基类的非虚拟成员函数.各派生类在声明为基类的派生类时,默认继承了这些非

  • 解析PHP中数组元素升序、降序以及重新排序的函数

    1,快速创建数组的函数range()比如range()函数可以快速创建从1到9的数字数组: 复制代码 代码如下: <?php $numbers=range(1,9);echo $numbers[1];?> 当然,使用range(9,1)则创建了9到1的数字数组.同时,range()还可以创建从a到z 的字符数组: 复制代码 代码如下: <?php $numbers=range(a,z);foreach ($numbers as $mychrs)    echo $mychrs."

  • 深入解析Python中函数的参数与作用域

    传递参数 函数传递参数时的一些简要的关键点: 参数的传递是通过自动将对象赋值给本地变量名来实现的.所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝. 在函数内部的参数名的赋值不会影响调用者. 改变函数的可变对象参数的值会对调用者有影响. 实际上,Python的参数传递模型和C语言的相当相似: 不可变参数"通过值"进行传递.像整数和字符串这样的对象是通过对象引用而不是拷贝进行的,但是因为不论怎么样都不可能在原处改变不可变对象,实际的效果就很像创建了一份拷贝. 可

  • 深入解析C++编程中的静态成员函数

    C++静态成员函数 与数据成员类似,成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数.如 static int volume( ); 和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分. 如果要在类外调用公用的静态成员函数,要用类名和域运算符"::".如 Box::volume( ); 实际上也允许通过对象名调用静态成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已. 与静态数据成员不同,静态成

随机推荐