php中的&表示什么呢?

php中发现下面一个函数,这里面的&是什么意思呢?
function next (array &$array) {}

PHP中&&与&的区别:

1、运算符性质的区别

&&在PHP中是一个逻辑操作符,也叫条件操作符。

&是逻辑语言,逻辑上表示两者属于缺一不可的关系,还可以表示一个人和另外一个人之意,与and同义。如A&B,表示A与B,A和B,A×B。

2、作用上的区别

&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。

&是将两个二进制的数逐位相与,结果是相与之后的结果。

3、用途上的区别

&&:x&&y——功能描述: “条件与”:x和y均为true,取值是true,否则取值是false。&&需要两个操作数的值都是true时,才取值true,但是两个操作符还是有区别的:使用方法是int&& rx=x。

&:是一个位运算符。参加运算的两个数的二进制形式,每一个二进制位进行”与“运算,最后的结果二进制作为结果,例如:3 & 5=1,因为3和5的二进制分别是0011、0101,两个进行与运算的结果是0001。

参考资料来源:百度百科 &&

参考资料来源:百度百科 &

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-11

给这个方法传递变量的引用,类似c中的指针一样,传递的时变量的内存地址。

这样,next方法内部就会直接操作传递过去的array变量。

不带引用,就相当于给了一份拷贝,原本的值是不变的。

for example:

1、
function next(array &$array){
 //各种操作
}
$arr = array(1,2,3);
next($arr);//这里不需要加&符号
var_dump($arr);//这时$arr已经被next()处理改变了

2、
/*如果是不带引用的方法*/
function next(array $array){
 //各种操作
 return $array;//注意这里有
}
$arr = array(1,2,3);
$arr2 = array();
$arr2 = next($arr);//next方法有返回值,并赋给了$arr2,并且$arr没有变化
var_dump($arr);
var_dump($arr2);

本回答被网友采纳
第2个回答  2014-11-14
$a = $b 我们知道这是一个变量赋值, 即有 $a $b 变量,各个独立存在于内存中,修改其一,另外的不变
$a = &$b 没记错的话,这是内存赋值,虽然都有 $a $b变量,但是 $a 用的是 $b 同一个内存地址, 即 两个变量占用一个内存, 因此 $b 变化,则 $a 随之变化,因为共用一个内存地址
第3个回答  2014-11-14
表示 next 函数接受的参数 是一个数组的引用传递(该 引用 不是 C 指针的概念).
这样的话. next 函数中, 将直接改变 传递进来的变量.

例如:
$var = array(1);
function next (array &$var) {
$var[0] = 'foo';
}
next($var);
var_dump($var);
第4个回答  2014-11-14
这里的 i 是正则表达式

i: 表示in-casesensitive,即大小写不敏感

望采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网