Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
PHP为什么一定要引用变量?直接修改变量的值不就行了吗?
发布于2022-02-20 13:18:17
比如:$a=100; $b=&$a $b=200 echo $a;这样输出的就是200那为什么不把$a的值直接改成200呢?通过引用的$b来修改不是累赘吗?我是新手,请高手讲解下
4
个回答
网友回答
2022-02-20
这个涉及到内存资源的问题,如果使用引用的话,$a和$b在内存中就是同一
内存地址
存储,这样可以减少内存的消耗。当然,从一个简单的数字或许看不到什么效果,但如果这个变量存储的是上万索引的数组或者对象,效果就很明显了。不使用引用的话,$b就会copy一个$a的值存储到内存中,就会多占一部分内存……
网友回答
2022-02-20
例子 $array = array( 0 => array( 0 => 1 )); //你要操作$array[0][0], 就可以引用一个$var $var = &$array[0][0]; //这样你操作$var 就相当于 操作$array[0][0]. 就不需要每次都打$array[0][0]. /*说到或许你还觉得有些没必要, 但有时结构比我们想象的复杂的多*/ //这是一种用法... 另外一种用法 就是函数引用 function test(&$a){ $a = $a + 1; } $b = 1; test(&$b); echo $b; //输出2
网友回答
2022-02-20
举个例子吧,我有个数组[1,2,3,4,5,6]。现在我想把这个数组的每个元素都乘以10 第一个数组打印出来还是 1,2,3,4,5,6。因为foreach循环数组的每个元素,乘以10后赋给$va,这个$va是新分配的一块内存,给这个值乘以10了,但是$arr的元素本身值并没有变 第二个数组打印出来就是我想要的了,foreach循环出数组的每个元素,是直接把这个元素给我了,我把它乘了10 当然解决这种问题不一定要传址引用的,第一种方法可以这样实现相同的功能 $va){ //$va不是直接从数组中拿的元素, //所以我只能拿到元素的值,乘以10后再赋给元素的索引 $arr1[$key] = $va * 10; } ?>
网友回答
2022-02-20
其实这几个变量也只是程序的作者为了说明指针的操作而做的,说明不了什么问题。 再看看别人怎么说的。
生活问答最新文章
1
宿舍环境
2
合肥高三文化课冲刺该注意什么?合肥高三文化课冲刺有什么要注意的?
3
为什么去年高考是七月,今年是六月
4
希望不要正常开学
5
这几年什么专业热门
6
成考多久可以拿证呀?
7
高考分数没有转入专业的最录取分数高能转专业吗
8
职业院校有哪些专业比较热门啊?
9
高考班的难度大不大?
10
深科技工学校的高考班上线率是多少呢?
相关阅读
1
PHP为什么一定要引用变量?直接修改变量的值不就行了吗?
2
农业银行卡扣费失败直接存款就行了么
3
25x125十75x125简便计算
回到
顶部