[入门问题] & 符号有用法限制?

2014-09-10 16:04:31 +08:00
 iugo
$c = &$a."b";
$a = "a";
echo $c;

这样输出为 a

$a = "a";
$c = $a."b";
echo $c;

这样输出就是 ab 了

新版的 PHP 中是否还在用 & 这个符号?

造成问题的原因是 & 用法限制还是代码有误?

请详解. 谢谢.
2651 次点击
所在节点    PHP
10 条回复
konakona
2014-09-10 16:19:06 +08:00
你造&在php的作用是引用地址吗?
iugo
2014-09-10 16:22:56 +08:00
@konakona 不知道... 我以为在函数名前加 & 的作用是取该函数最后一个值.
typcn
2014-09-10 16:23:27 +08:00
@konakona C艹指针即视感
a591826944
2014-09-10 16:23:59 +08:00
@iugo LZ 你这理解屌爆了
iugo
2014-09-10 16:24:30 +08:00
@konakona 之前好像记得美女是做前端的. 原来是通吃...
iugo
2014-09-10 16:27:38 +08:00
@a591826944 呃, 我刚利用上班时的空闲时间学两天... 标题有些「入门问题」. imooc.com 中的某教程是说的大概意思是这样的, 可能那教程为了便于新手理解, 所以才没深入吧.
jsjscool
2014-09-10 17:15:22 +08:00
新版的 PHP 中是还在用 & 这个符号,但是通过函数调用引用传参已经去除了,就是不能通过function test(&$a)这种方式传参。

造成这种问题的原因是代码不规范,我大概说下问题:
1.$a 变量没申明就使用,是很不好的编程习惯,C,C++通用。
2.&取地址符的优先级高于 .(字符串相加)符号。
3.虽然PHP是弱类型语言,但也不能用地址指针和字符串拼接。故输出的是$a
konakona
2014-09-10 17:38:52 +08:00
@iugo 你记错了,我专门玩的是PHP。只不过WEB的东西都懂点而已。
konakona
2014-09-10 17:39:44 +08:00
@iugo =.= 已和慕课签约了PHP讲师协议, 不过由于录的不太好~被抛弃了~TAT
eslizn
2014-09-10 20:14:35 +08:00
@jsjscool 还是可以用的,只是对象默认传递的就是指针,如果是普通变量需要传引用还是需要&

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/132724

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX