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