php foreach 符号,关于php:php-foreach循环中变量之前的符号
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Reference - What does this symbol mean in PHP?
我需要知道为什么在foreach循环中的变量之前使用和号
foreach ($wishdets as $wishes => &$wishesarray) {
foreach ($wishesarray as $categories => &$categoriesarray) {
}
}
很重要的一点是,循环变量被泄漏到循环范围之外(因为PHP没有块范围,为了让事情更有趣)。因此,如果您稍后分配给循环变量,则会损坏数组。即使在另一个循环中将其用作循环变量,也可能发生这种情况,从而导致非常"有趣"的错误。解决方案是在循环之后取消设置循环变量()。
这个例子将向您展示不同之处
$array = array(1, 2);
foreach ($array as $value) {
$value++;
}
print_r($array); // 1, 2 because we iterated over copy of value
foreach ($array as &$value) {
$value++;
}
print_r($array); // 2, 3 because we iterated over references to actual values of array
在这里查看php文档:http://pl.php.net/manual/en/control-structures.foreach.php
引用语法是否经常导致错误,如:"无法创建对字符串偏移量的引用"?
这意味着它是通过引用传递的,而不是通过值传递的…即对变量的任何操作都会影响原始变量。这与任何修改都不会影响原始对象的值不同。
在StackOverflow上会多次询问此问题。
要添加,"by reference"表示它指的是为被引用的变量分配的相同内存块。
与"按值"相反,这意味着变量的副本是由PHP在新的内存块中创建的。
有两种方法可以在问题示例代码中传递引用,我概述了这两种方法。
如果你知道"StackOverflow上有很多次这样的问题",那你为什么要回答呢?找到一个合适的副本,并作为评论提供(或在达到3K后关闭投票)
它用于将数组的单个实例中的更改应用于主数组。
AS:
//现在更改不会影响数组$wishesarray
foreach ($wishesarray as $id => $categoriy) {
$categoriy++;
}
print_r($wishesarray); //It'll same as before..
但现在的变化也会反映在$wishesarray数组中。
foreach ($wishesarray as $id => &$categoriy) {
$categoriy++;
}
print_r($wishesarray); //It'll have values all increased by one..
对于问题中的代码,不能给出特定的答案,因为foreach内部循环是空的。
我在代码中看到的是,内部foreach迭代引用,而不是普通的方式。
我建议您阅读一下foreachphp手册页,它涵盖了所有四种情况:
foreach($standard as $each);
foreach($standard as &$each); # this is used in your question
$reference = &$standard;
foreach($reference as $each);
$reference = &$standard;
foreach($reference as &$each); # this is used in your question
php foreach 符号,关于php:php-foreach循环中变量之前的符号相关推荐
- php正则判断是否包特殊符号,正则表达式(RegExp)判断文本框中是否包含特殊符号...
前言 有时,我们希望判断文本框中用户输入的字符是否含有特殊符号(*/#$@),就像用户注册时密码框的填写. demo 利用 RegExp 对象,能很优雅的实现以上需求: // even(文本框内容) ...
- c语言编程符号函数sgn,在C/C中是否有标准符号函数(signum,sgn)?
惊讶没有人发布无分支,类型安全的C版本: template int sgn(T val) { return (T(0) < val) - (val < T(0)); } 优点: >实 ...
- 计算机中符号位正负,负数在计算机中的表示+有符号无符号的区别+负数按位运算...
部分转载自:https://blog.csdn.net/kebi007/article/details/89741960 一.负数的二进制位表示法 原码:一个整数按照绝对值的大小转换成的二进制数,称为 ...
- html页面中常见的特殊符号,收集的web页面html中常用的特殊符号大全分享
*特殊符号:·⊙①⊕◎Θ⊙*○¤㊣㈱@の*□*☆** ▲△▼▽⊿ ▂ ▃ ▄ ▆ * * ▉ ▊▋▌▍▎▏* 回 □ **≡ ↑↓→←↘↙♀♂┇┅|$ @ * & # ※ 卍 卐 ∞Ψ §∮ ...
- linux sed 替换符号,linux sed 批量替换文件中的字符串或符号
BLE 蓝牙协议栈开发 1.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(1) 2.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(2) 3.由浅入深,蓝牙4.0/BLE协议栈开发攻略大全(3) 关 ...
- PHP for循环中的sql语句,php – 在foreach循环中使用SQL结果
我觉得我错过了一些愚蠢明显的东西,我试图获得SQL查询的结果,然后在循环中使用它们.我觉得我错过了一些愚蠢明显的东西,我已经尝试过,有没有注释掉的线. $sentToID = $_SESSION['u ...
- php的foreach循环执行过程分析以及循环中执行unset()的一些问题
文章目录 一.前言 二.foreach的执行过程 1.关于版本不同的foreach变化 2.关于引用计数 3.探寻foreach的运行过程 三.foreach中执行unset()的问题 1.当我们是为 ...
- foreach输出mysql方法_mysql – “foreach”循环:使用R中的所有核心(特别是如果我们在foreach循环中发送sql查询)...
我打算用"foreach"来uitlize我的CPU中的所有核心.我需要在循环中发送一个sql查询.该脚本在正常的'for'循环中工作正常,但是当我将其更改为'foreach'时它 ...
- 在Java中的foreach循环中调用remove
本文翻译自:Calling remove in foreach loop in Java [duplicate] This question already has an answer here: 这 ...
最新文章
- Python的设计定位
- 论强化学习的根本缺陷
- SVN使用教程之——分支、合并
- 蓝桥分酒java_[蓝桥杯][java]海盗分酒
- python新手教程 从零开始-让你从零开始学会写爬虫的5个教程(Python)
- 4.1.2 OS之文件逻辑结构(顺序文件、索引文件、索引顺序文件、多级索引顺序文件)关于数据库的索引如聚簇索引可以看一下索引文件例题的解析,感觉还是可以收获到东西的
- linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...
- 再谈要不要成为全栈工程师
- 什么情况下需要创建MySQL索引
- java获取客服列表,java-从列表中获取处理案例的服务
- matlab估计arma残差,python ARIMA 时间序列
- 装机经验-某些服务器安装系统困难,需要BIOS设置
- C#访问MySQL数据库帮助类
- bugku-web-滑稽
- 如何测量智能产品的AI智商水平,论AI的三种智商
- Linux python 虚拟环境搭建与配置
- Redis 实例:开发一个Spring Redis应用程序
- 【应用C】C语言实现离散数学合式公式的递归判断
- 【DeeplabV3+ MIoU】DeeplabV3+计算评价指标
- python安装和学习-最后推荐winpython
热门文章
- SAP Hybris和ABAP Netweaver里的DAO(Data access object)
- 基于WebSocket的手机应用和浏览器应用的数据传递
- CRM WebClient UI错误消息的两种显示方式比较
- Workflow Administration
- 如何把word文档转换成markdown格式
- SAP Cloud for Customer Sales Order Pricing Date的配置
- Netweaver的传输机制和SAP Cloud for Customer
- 如何处理CloudFoundry应用部署时遇到的254错误
- mysql5.1修改登陆密码_mysql 5.1版本修改密码及远程登录mysql数据库的方法
- 北京林业大c语言程序设计考试试题,2020年南京林业大学2017考研真题考研真题试卷及试题答案,C程序设计考研试题下载...