先上代码
function pingfang(&$var) {
$var*=$var;
}
function pingfang1($var) {
$var*=$var;
}
$var = 3;
echo $var."
";
pingfang1($var);
echo $var."
";
pingfang($var);
echo $var."
";
显示结果是:
3
3
9
我觉得结果应该是:
3
9
81
我错在哪里了?
调用pingfang1之后,$var不是已经变成9了吗,按理说内存地址的值也应该改变了啊。
请各位大神指点下~谢谢!
php学习中,在指向内存地址取值上遇到问题,请大神进来看一下,谢谢!
答案:2 悬赏:70 手机版
解决时间 2021-03-15 12:18
- 提问者网友:疯子也有疯子的情调
- 2021-03-15 08:14
最佳答案
- 五星知识达人网友:像个废品
- 2021-03-15 09:37
function pingfang1($var) {
$var*=$var;
}
你没有传引用。
方法外的$var 还是3,跟方法内没有关系。
修改:
function pingfang1(&$var) {
$var*=$var;
}
$var*=$var;
}
你没有传引用。
方法外的$var 还是3,跟方法内没有关系。
修改:
function pingfang1(&$var) {
$var*=$var;
}
全部回答
- 1楼网友:一秋
- 2021-03-15 11:14
你还用固态硬盘?要看你的cpu和显卡,如果cpu太垃圾了也不一定能满足。特别是高清视频。像老的电脑英特尔灵动处理器或2年前手机的手机平板处理器,够呛。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯