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。
参考资料来源:百度百科 &&
参考资料来源:百度百科 &
给这个方法传递变量的引用,类似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);
2014-11-14
$a = &$b 没记错的话,这是内存赋值,虽然都有 $a $b变量,但是 $a 用的是 $b 同一个内存地址, 即 两个变量占用一个内存, 因此 $b 变化,则 $a 随之变化,因为共用一个内存地址
这样的话. next 函数中, 将直接改变 传递进来的变量.
例如:
$var = array(1);
function next (array &$var) {
$var[0] = 'foo';
}
next($var);
var_dump($var);
i: 表示in-casesensitive,即大小写不敏感
望采纳