PHP中的foreach作为经常用到的函数,常常用来遍历数组,对于数组中的元素是值的情形(如一般常见型的数组),foreach只是将数组中的每份元素的值拷贝到each后面的变量,也就是对值本身的拷贝,对其值进行改变并不会影响到数组本身。

如: (推荐学习:PHP视频教程)$arr = array(1, 2, 3);

foreach($aa as $el){

$el = 100;

}

foreach($arr as $el){

echo $el;

echo "
";

} // 结果: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 "
";

} // 结果:qqyumidi qqyumidi

php对象和数组的效率,PHP对象数组和一般数组区别相关推荐

  1. java 中遍历双列集合_获取单列集合,双列集合,数组的Stream流对象以及简单操作...

    获取流对象 获取单列集合,双列集合,数组的流对象 单列集合获取流对象: 1.java.util.Collection接口中加入了default方法stream()获取流对象,因此其所有实现类均可通过此 ...

  2. 内置对象的API Array数组对象 String字符串对象 json字符串 JSON对象 js作用域及变量预解析 引用类型与值类型区别 共享引用 基本包装类型 数组去重

    01-内置对象的API a.Date对象获取时间 b.Array对象数组加工 c.String对象字符串加工 d.json字符串的语法格式 e.JSON对象的字符串与对象转换应用 02-JS作用域 a ...

  3. Java常用知识点汇总(基础:数组,类与对象,接口与继承)

    目录 数组 1.引用 2.增强型for循环 3.复制数组 arraycopy() 4.针对数组的工具类 Arrays 5.选择法排序 6.冒泡排序 7.练习-二维数组中的查找(剑指offer) 类与对 ...

  4. golang json转结构体中嵌套多个数组_ElasticSearch第六篇:复合数据类型-数组,对象...

    在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON ...

  5. 通过属性值从对象数组中获取JavaScript对象[重复]

    本文翻译自:Get JavaScript object from array of objects by value of property [duplicate] This question alr ...

  6. Jackson:数组json字符串转对象集合(List)的两种方式

    首先,创建个实体类Person import java.util.List;public class Person {private String name;private Integer age;p ...

  7. TP5.1查询用Db('不含表前缀')/Db::name('不含表前缀')/Db::table('含表前缀')返回数组;model()返回对象

    TP5.1查询用Db(('不含表前缀')/Db::name('不含表前缀')/Db::table('含表前缀')返回数组:model()返回对象 all():可直接传数组查询 select():传数组 ...

  8. java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入

    原标题:Java静态方法和实例方法 java中的数组作为形参传入 Java静态方法和实例方法 java中的数组作为形参传入 Java虚拟机 启动一个Java程序的时候,会诞生一个虚拟机实例,当程序关闭 ...

  9. JS 将有规律的数组,转换成对象数组

    在工作中经常会遇到解析数据的问题,今天需要用js实现,将一个含有一些有规律数据的数组,解析成对象数组. 比如: ['123','er','456', 'fr'] ==>[{id: '123', ...

最新文章

  1. 亚马逊科学家Nikko Ström:将人工智能助理日常化的梦想照进现实
  2. Bilibili 笔试扭蛋器----回溯dfs 9.21
  3. 《Imperfect C++中文版》——2.1 对象生命周期
  4. Binary classification - 聊聊评价指标的那些事儿【实战篇】
  5. reactjs render props向组件内部动态传入带内容的标签
  6. Openstack迁移DDH最佳实践
  7. IDEA打jar包时出现manifest.mf already exists in vfs解决办法
  8. mysql ---- DDL(了解)
  9. P2:图像分类:KNN与线性分类器
  10. 区块链需要用到mysql吗_区块链和传统数据库有什么区别?
  11. 学习使用Mathematic
  12. MKVToolNix v72.0 MKV视频封装工具
  13. 根据卡号查询银行卡信息
  14. gif制作动图超简单,手把手教会用图片做gif动图
  15. HDU 3966(树链剖分)
  16. 【强烈推荐一款吊炸天的 Kafka 图形化工具 Eagle】
  17. 如何使用python的openpyxl进行强大的图表处理
  18. QQ第三方登录-QQ互联开发者申请的坑(个人接入,时间:2019-6-3)
  19. Git Bash中怎么复制与粘贴
  20. 心理、意识和其他状态

热门文章

  1. [水晶报表]创建不受数据库限制的报表(2)
  2. python基础之socket编程
  3. python爬虫之User Agent
  4. 前端JS的一些使用方法-持续更新
  5. java常用 api
  6. 网络之NSURLSession
  7. C语言实现radon变换
  8. .Net Remoting 1
  9. android 封装状态页面,Android 缺省页状态切换方案
  10. sqlite3数据存储最多存储多少条数据?达到上限如何处理?_在数据爆炸的当下,教你设计一个能实现9个9数据可靠性的存储系统...