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 唉,过不去的吧。 |