PHP中foreach详细分析—一般数组与对象数组

简介:

PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,

也就是对值本身的拷贝,对其值进行改变并不会影响到数组本身。

如:

复制代码
$arr = array(1, 2, 3);

foreach($aa as $el){
    $el =+ 100;
}
 
foreach($arr as $el){
    echo $el;
    echo "<br/>";
 }    // 结果:1 2 3
复制代码

但是如果是对象数组的情形,也就是数组元素均为对象时,此时each后面的变量是对对象引用的拷贝,对其进行的改变会直接影响到原数组本身。这点与上面情形很容易弄混。

如:

复制代码
$aa = new stdClass();
$aa->name = '张三';

$bb = new stdClass();
$bb->name =  '李四';

$arr = array($aa, $bb);

foreach($arr as $element){
    $element->name = 'qqyumidi';
}

foreach($arr as $el){
    echo $el->name;
    echo "<br/>";
}      // 结果:qqyumidi   qqyumidi
复制代码

 

---------------------------------------------------------------------------------
笔者水平有限,若有错漏,欢迎指正,如果转载以及CV操作,请务必注明出处,谢谢!
分类: PHP

本文转自Windstep博客园博客,原文链接:http://www.cnblogs.com/lwbqqyumidi/archive/2012/08/22/2651381.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
42 4
|
2月前
|
缓存 安全 PHP
PHP中的魔术方法与对象序列化
本文将深入探讨PHP中的魔术方法,特别是与对象序列化和反序列化相关的__sleep()和__wakeup()方法。通过实例解析,帮助读者理解如何在实际应用中有效利用这些魔术方法,提高开发效率和代码质量。
|
3月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
|
17天前
|
PHP
PHP中如何比较两个对象
在 PHP 中,比较两个对象可依据状态(属性值)或身份(内存地址)。常用方法包括:1. 使用 `==` 比较属性值;2. 使用 `===` 比较身份和属性;3. 实现 `__equals()` 方法自定义比较逻辑;4. 使用 `spl_object_hash()` 比较对象身份;5. 手动比较属性。选择方法依需求而定。
|
1月前
|
存储 缓存 搜索推荐
优化PHP数组性能
优化PHP数组性能
42 8
|
1月前
|
算法 搜索推荐 Java
05 一文解决PHP数组操作
路老师带你深入PHP世界,从数组的基础知识讲起,包括数组的创建、赋值、类型(数字索引数组与关联数组)、多维数组,以及常用数组函数如遍历、统计、查询、添加、删除重复元素和排序等。实例讲解,轻松上手。下期预告:PHP面向对象。
22 2
|
3月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
3月前
|
存储 PHP
PHP编程中的数组操作技巧
【9月更文挑战第28天】在PHP编程中,数组是一种基础且强大的数据结构,它可以存储多个值,并且允许我们使用键来访问这些值。本文将介绍一些实用的PHP数组操作技巧,包括创建数组、遍历数组、排序数组和合并数组等。通过掌握这些技巧,你将能够更高效地处理数据和解决实际问题。
|
3月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
3月前
|
PHP
PHP中如何比较两个对象
PHP中如何比较两个对象