哥们你代码写的真幽默

2016-05-27 16:47:00 +08:00
 wucao219101

看到一行这样的代码,笑抽了

//去除最后的&
$str = substr($str, 0, count($str) - 2);
10812 次点击
所在节点    PHP
81 条回复
8bit
2016-05-27 17:13:52 +08:00
@thurstan 如果含多个&,就不行了吧
wucao219101
2016-05-27 17:14:40 +08:00
@rekulas 正解
kingwrcy
2016-05-27 17:15:53 +08:00
不懂 php,php 的 count 不是求字符串长度吗?
hlg002
2016-05-27 17:16:56 +08:00
好多人入坑, count 只能 count array 如果非数组 返回的是 1 吧
kingwrcy
2016-05-27 17:17:37 +08:00
醉了,count() 函数返回数组中元素的数目。

count 还能用在 string 上?这也不报错?我大 java 早报错了.
hlg002
2016-05-27 17:20:13 +08:00
@hlg002 这还是个面试题,” count('1234'); 返回什么?“
当初有人回答:这逼题目,怎么可能把 count 的参数传为字符串
littleshy
2016-05-27 17:21:03 +08:00
python 爽啊。 str[:-1]
500miles
2016-05-27 17:21:14 +08:00
就怕别人看懂自己代码.... ..

$num = 1 就必须得写成 $num = ( 99 - 199 - 3 + 2 * 55 ) - 20 + 7 * 2
xujif
2016-05-27 17:22:42 +08:00
rtrim 是干嘛用的
a412739861
2016-05-27 17:31:10 +08:00
Python 大法好,直接切片器……[1234:-1],前面正着数,后面倒着数,只要不超,就都行
jamiesun
2016-05-27 17:33:14 +08:00
python 大法好 "hello&"[:-1],想不到号称天下第一的 php 写起来如此麻烦,还是不要学了。
500miles
2016-05-27 17:37:52 +08:00
肯定是想 strlen($str) - 1

但是误写成 count($str) - 1 了

完了一看, 最后一个 & 没截掉啊,

于是 又改成 count($str) - 2 了

结果 歪打正着, 然后就翻篇了,

这绝逼是 作者当时的心理历程
y10n
2016-05-27 17:44:28 +08:00
* 不管用 count 能不能取到长度,都建议用 strlen,这样能够语意化的体现你的意图,代码即文章嘛。实测确实 count 得不到字符串的长度了...
* 只去掉最后一个&的话 substr('aa&', 0, -1)这样子就行了,很直观,负距离这个词不算污吧?
* rtrim('aa&', '&')我觉得是最好的,毕竟万一后面有两个'&'你就不去掉?
wdhwg001
2016-05-27 17:47:15 +08:00
#面试官筛人参考#
wdhwg001
2016-05-27 17:49:57 +08:00
@500miles “啊,很正常嘛,位置从 0 开始所以是-2 嘛”
est
2016-05-27 17:54:54 +08:00
@500miles 我看你这个看懂了。
tuimaochang
2016-05-27 17:54:56 +08:00
千万不要动稳定运行的代码
wucao219101
2016-05-27 17:55:53 +08:00
@tuimaochang 这个,有理由不改吗?
hisway
2016-05-27 17:56:13 +08:00
@500miles 一定就是这样,哈哈哈
hvn0413
2016-05-27 18:10:15 +08:00
楼主有才

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

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

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

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

© 2021 V2EX