foreach 加&遍历的同时改变原数组即修改数据或者增加数据

foreach 加& 什么意思?

注意:如果我要改变数组某一个值 直接遍历的话原数组是不会变的 下面提供两种方法

1.我们可以遍历的时候组合数据然后 array_push()把数据赋给另一个新的数组这样才可以 如:

$data=array(1,2,3,4);

$newdata=array();

foreach($data as $k=>$v){

    if($v==2)  $v=666;//我们想把值等于2的改为666 这样的话在内部改变了$v但是$data还是没改变

    array_push($newdata,$v);//这样可以得到我们想要的数组

}

 

2.我们可以在遍历的值前面加个&符号这样就可以改变原数组了 不需要用array_push()了

$data=array(1,2,3,4);

foreach($data as &$v){

      if($v==2)  $v=666;//因为$v前面加了'&'所以原数组就直接改变了

}

链接:http://www.jianshu.com/p/13f89fb42bbf
來源:简书

最新文章

  1. Linux下PHP+MYSQL+APACHE配置方法
  2. iOS-数据持久化-CoreData
  3. jQuery Ajax学习
  4. Windbg + .Net .NET Memory Profiler 排查内存泄露
  5. Oracle- 备份单表结构和单表数据
  6. [Angular 2] DI in Angular 2 - 1
  7. Sql Server 2008/2005 数据库还原出现 3154错误
  8. iOS Dev (59) 高度自适应的UITextView
  9. malloc函数及用法
  10. XStream的使用
  11. js中的call()方法与apply()方法
  12. VisualVM 使用 service:jmx:rmi:///...无法连接linux远程服务器
  13. JS中的数据类型和转换
  14. 我的.gitignore下配置。存在这里一下。日后有空研究研究!
  15. c——闰年
  16. mini2440裸机试炼之—RTC闹钟中断,节拍中断
  17. 逆袭之旅DAY09.东软实训.接口
  18. SQL-6查找所有员工入职时候的薪水情况,给出emp_no以及salary, 并按照emp_no进行逆序
  19. Oracle安装部署之linux(redhat/centos)快速安装oracle 11g rac
  20. 去掉cb中括号的匹配

热门文章

  1. 求LCA最近公共祖先的离线Tarjan算法_C++
  2. 求LCA最近公共祖先的在线ST算法_C++
  3. QT5.3.1 Quick 开发 --- 项目类型的选择(转)
  4. dpkg: error processing package bluez (--configure) 解决方法【转】
  5. linux c/c++ 代码使用 doxygen 自动生成文档
  6. matlab后处理保存avi动画
  7. React Native解决Android的WebView无法执行injectedJavaScript代码
  8. (20)C#泛型
  9. Python的程序结构[4] -> 函数/Function[0] -> 函数与方法的区别
  10. the-swift-programming-language 学习笔记