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