PHP 满满的一个槽点

2017-09-15 02:51:20 +08:00
 plane

9333 次点击
所在节点    PHP
84 条回复
plane
2017-09-15 13:30:23 +08:00
@raysonlu 推荐你搜一下 json_last_error...
Elvis0
2017-09-15 13:30:56 +08:00
哈哈,好尴尬
iyaozhen
2017-09-15 13:31:42 +08:00
不抛异常这个事情确实值得吐槽,但是这也是语言本身的特性,基本靠返回值判断。这也没啥问题呀
plane
2017-09-15 13:33:22 +08:00
@mrgeneral 会不会用跟怎么设计是两回事?
weilongs
2017-09-15 13:40:18 +08:00
楼主尴尬了
Phariel
2017-09-15 13:44:26 +08:00
楼主你试没试过 JSON 里写注释呢 (滑稽
raysonlu
2017-09-15 13:56:28 +08:00
@plane 要考虑一下 PHP 的设计意图,如果 json_decode 也抛错误,那如何判断 decode 是否成功了?(如果返回一个对象或数组也显得麻烦),倒不如分开这些功能,coder 想怎么摆弄就怎么摆弄。
clino
2017-09-15 14:02:56 +08:00
@ETiV 靠,我还去试了一下...后来定睛一看原来是 int
miniwade514
2017-09-15 14:07:37 +08:00
楼上吐槽楼主的,都没看懂楼主的槽点啊,所以楼主还是多写代码少吐槽吧,槽槽相吐何时了
Alex6
2017-09-15 14:10:41 +08:00
php 一路走到头,当然给你一个 null :-)
Technetiumer
2017-09-15 14:12:57 +08:00
sobigfish
2017-09-15 14:20:13 +08:00
那么问题来了,这题能不能作为面试题,难道几个 n 年经验的
Tokin
2017-09-15 14:20:56 +08:00
反正我不是很懂 json,每次想要需要的 json 的时候,我都是先写成数组,然后 php 转成 json。。。
话说,一般不会出问题才对啊,至少我会在 json_decode 之后 empty 判断一下数组是否有值。。。
vjnjc
2017-09-15 14:29:11 +08:00
因为 Java 会抛异常,
所以必须有捕获逻辑,
所以所以他们都说 Java 啰嗦
PHP 身为很简短的语言,当然不抛啦
usedname
2017-09-15 15:03:55 +08:00
https://www.v2ex.com/member/plane
广州 123 科技有限公司 / 全栈工程师
goodspb
2017-09-15 15:59:42 +08:00
楼主尴尬了
pynix
2017-09-15 16:09:59 +08:00
楼主尴尬了
akstrom
2017-09-15 16:11:04 +08:00
@plane php 是弱类型的语言,他对这个不会刻意强制,所以方便的同时也要小心.....
coooooooode
2017-09-15 16:43:58 +08:00
你明显可以先看看手册

```
$json[] = "{'aaa': 'bbb'}";
$result = json_decode($json[0]);
var_dump($result);
var_dump(json_last_error(), json_last_error_msg());
```

output:

NULL
int(4)
string(12) "Syntax error"
barbery
2017-09-15 19:50:04 +08:00
年轻人,不要老是想着弄一个大新闻,OK ?

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

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

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

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

© 2021 V2EX