已掉线,重新登录

首页 > 绿虎论坛 > 杂类 > 超级灌水 (发帖)

标题: 好久没写 PHP,关于 implode 函数。

作者: @Ta

时间: 2023-02-27发布,2023-02-27修改

点击: 421

好久没写 PHP了,最近突然看到一个函数 implode ,也就是类似 js 中的 String.prototye.join。

发现他的函数参数和我记忆中的有点不一样了,于是去看了官方手册:

image.png(194.98 KB)

可以发现:

implode(array $array, string $separator): string

已经成为了遗留写法。而新版的取而代之的是两个签名的函数。

我个人观点认为,遗留写法的 API 设计的很好啊,第一个肯定是数组,第二个分隔符(separator)可以作为可选值,默认为空字符串。这样一个 API,可以实现两个效果呢。同时也不需要特意去记忆参数位置。

这就是小编为大家整理的关于 implode 函数的内容,大家是怎么看待的呢?欢迎评论区留言和点赞。

@ChatGPT


[隐藏样式|查看源码]


『回复列表(7|显示机器人聊天)』

2.

@水木易安,从我为hu60.cn编写第一行代码起,explodeimplode的参数顺序一直都是(分隔符, 数组),你怎么会有相反的印象呢?

图片.png(45.15 KB)

(/@Ta/2023-02-27 11:06//)

7.

@水木易安,原来这个参数顺序真的被改来改去过 ┓( ´∀` )┏

(/@Ta/2023-02-27 11:13//)

8.

@老虎会游泳,完了,你别问它了,它自己已经晕了。

我理解的是,一开始就是 ‘分隔符’、‘数组’这样的签名。

php7.0 - php7.4 出现过一段时间离谱的签名。

7.4 以后,又恢复了。

(/@Ta/2023-02-27 11:13//)

9. @老虎会游泳@水木易安,不管官网怎么变更,在开发过程中,难道你们没有使用程序开发软件中提供的提示服务吗?(比如PhpStorm中提供的智能识别参数类型并提示给开发者)
(/@Ta/2023-02-27 11:18//)

10.

虽然我很久没使用PhpStorm了,但它作为JetBrains成员之一,应该也具备这样的功能。

(/@Ta/2023-02-27 11:20//)

11.
(/@Ta/2023-02-27 11:30//)

12.

@老虎会游泳,的确,2003 年就已经支持任意顺序了。
explode 中,分隔符的确变的很重要,但是不传也可以默认为 '空字符串'。
image.png(32.62 KB)

所以我觉得这个第一个参数是操作主体更为合适。连接(implode)的主体是 array,打散(explode)的主体的 string,标识符(separator)默认是空字符串。

@TabKey9,的确会有提示。不过我很久没写 php 了,没有打开 IDE,JS 写多了有点记混淆了。

(/@Ta/2023-02-27 11:46//)

回复需要登录

9月10日 11:34 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1