return (array('code' => '1', 'message' => 'success ', data => $row));
这种代码在强制关闭 PHP 所有错误提示的情况下,能通过吗?
1
Septembers 2015 年 5 月 22 日
不能
语法错误 |
2
oott123 2015 年 5 月 22 日
我比较倾向于,data 会被当成一个常量,然后因为你没有定义这个常量,所以会被当成字符串 "data" 解析并产生一个 WARNING 错误。
不过这和内核没有什么关系。 |
3
cevincheung 2015 年 5 月 22 日
这一点都不奇特
|
4
feiyuanqiu 2015 年 5 月 22 日 via iPhone
@oott123 实际上 data 会被转换为字符串
|
5
feiyuanqiu 2015 年 5 月 22 日
@oott123 抱歉,手机上没看清楚
|
6
qaulau 2015 年 5 月 22 日
不能,会抛出 Notice 提示使用未定义常量 data
|
7
hiboshi 2015 年 5 月 22 日
肯定不能通过语法错误
data 必须加' |
8
solaro 2015 年 5 月 22 日
直接这样是可以的:
return (array('code' => '1', 'message' => 'success ', 'data' => $row)); 但是直接这样是不行的,因为data不是变量也不是常量,即便是也不能这么用。 return (array('code' => '1', 'message' => 'success ', data => $row)); |
9
solaro 2015 年 5 月 22 日
还有,这种写法万分不推荐,看似省事,其实万分不规范,看了令人抓狂
$data = [ 'code' => '1', 'message' => 'success ', 'data => $row ]; return ($data); 酱紫不是好看多了?用phpstorm吧骚年,LINUX 、WIN 、OSX都有 |
10
Actrace 2015 年 5 月 24 日
我是来推销netbeans的,用netbeans会直接提示你未定义的常量~
|
11
mingyun 2015 年 5 月 24 日
return 为什么要加括号呢
|
13
thankyourtender 2015 年 5 月 24 日
类型推导和类型定义是不一样的,这要是能有默认的数据类型,那基础的数据类型里面怎么分呢?
走叉了 |
14
coin 2015 年 6 月 1 日
唉,过不去的吧。
|