PHP 5.6 支持 ucwords 分隔符参数吗? [重复]

问题描述 投票:0回答:3

根据官方文档,PHP

ucwords
函数适用于版本457,并支持在版本
5.4.32
5.5中引入的delimiter参数.16.

因此,我希望

delimiter
参数在版本 5.6.*.

中可用

实验表明它在版本5.6.30-1+deb.sury.org~trusty+1中是不可用。这是预期的行为,是我正在使用的 PHP 包中的错误,还是仅仅是我的错误?

感谢您的宝贵时间。

php php-5.6
3个回答
1
投票

代码

<?php

$word = "foo|bar";
echo(ucwords($word, "|"); // Foo|Bar

在所有 PHP 版本中都能按预期工作,输出如下:https://3v4l.org/Uf3Ya


1
投票

您可以使用 docker 对您想要的所有版本运行快速测试。

使用 5.6,您将获得预期的行为:

$ docker run -i php:5.6-cli php -r "echo ucwords('hello|world', '|') . PHP_EOL;"
你好|世界

也许检查一下

php --version
您实际调用的是哪个版本?

作为参考,这是针对没有该选项的版本的响应:

docker run -i php:5.3-cli php -r "echo ucwords('hello|world', '|') .PHP_EOL;"

警告:ucwords() 需要 1 个参数,第 1 行命令行代码中给出的 2 个参数

根据文档添加了参数:

5.4.32、5.5.16 添加分隔符参数。

所以在@khorneholy的情况下,

5.5.9
不会有这个功能


0
投票

我只是想补充一下。

在我的系统之一

PHP 5.6.30-11+deb.sury.org~trusty+3
ucwords()
抛出警告:

警告:ucwords() 需要 1 个参数,2 个参数在 ...

中给出

在我的其他系统上使用

PHP 5.6.33-0+deb8u1
,它工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.