菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
2112
1

记录一次中文逗号的神奇 bug

原创
05/13 14:22
阅读数 2212

之前写了这样的代码

$result = $uploader->save($request->avatar, 'avatars', $user->id,362)

程序不报任何错误,一切功能正常运行,就是后面的 362 参数无论如何都不生效,之后在 save方法里写了个 1/0; 通过异常堆栈信息来查看实际的参数传入值

Arguments
    UploadedFile {#547 ▶}
    "avatars"
    null

$user->id竟然是null?362 竟然完全没传进去。

后来才发现$user->id,362使用了中文逗号,一般情况下使用中文逗号都会报错的,但这里似乎是符合语法规范的,$user->id,362相当于$user["id,362"] 然后我尝试写了下面的代码

$user->id,362= 1;
dd($user['id,362']);

还有下面的

$user->id,(。,?)362= 1;
dd($user['id,(。,?)362']);

结果都正常返回了1,往后应该小心$aaa->bbb代码后写入中文符号,对程序来说是完全符合语法的,甚至都完全不会报错,上面的代码一切都正常运行,如果我没去看上传图片的尺寸的话,我根本发现不了我写了一个中文逗号!

发表评论

0/200
2112 点赞
1 评论
收藏
为你推荐 换一批