PHP 5.6 是否支持 ucwords 分隔符参数?
Is ucwords delimiter parameter supported in PHP 5.6?
根据 the official documentation,PHP ucwords
函数可用于版本 4、5, 7 并支持 5.4.32 和 5.5.16 版本中引入的 delimiter
参数.
因此,我希望 delimiter
参数在版本 5.6.*.
中可用
实验表明它在版本 5.6.30-1+deb.sury.org~trusty+1 中 不可用 .这是预期的行为,是我正在使用的 PHP 包中的错误,还是我的错误?
感谢您的宝贵时间。
代码
<?php
$word = "foo|bar";
echo(ucwords($word, "|"); // Foo|Bar
在所有 PHP 版本中都按预期工作,这是输出:https://3v4l.org/Uf3Ya
您可以 运行 快速测试您想要的所有版本 docker。
在 5.6 中,您将获得预期的行为:
$ docker run -i php:5.6-cli php -r "echo ucwords('hello|world', '|') . PHP_EOL; "
Hello|World
也许可以检查 php --version
你实际调用的是什么版本?
作为参考,这是对没有选项的版本的响应:
docker run -i php:5.3-cli php -r "echo ucwords('hello|world', '|') . PHP_EOL; "
Warning: ucwords() expects exactly 1 parameter, 2 given in Command line code on line 1
根据文档添加参数:
5.4.32, 5.5.16 Added the delimiters parameter.
所以在@khorneholy 的情况下,5.5.9
不会有此功能
我只是想补充一下。
在我的一个系统 PHP 5.6.30-11+deb.sury.org~trusty+3
上,ucwords()
抛出警告:
Warning: ucwords() expects exactly 1 parameter, 2 given in ...
在我使用 PHP 5.6.33-0+deb8u1
的其他系统上,它工作正常。
根据 the official documentation,PHP ucwords
函数可用于版本 4、5, 7 并支持 5.4.32 和 5.5.16 版本中引入的 delimiter
参数.
因此,我希望 delimiter
参数在版本 5.6.*.
实验表明它在版本 5.6.30-1+deb.sury.org~trusty+1 中 不可用 .这是预期的行为,是我正在使用的 PHP 包中的错误,还是我的错误?
感谢您的宝贵时间。
代码
<?php
$word = "foo|bar";
echo(ucwords($word, "|"); // Foo|Bar
在所有 PHP 版本中都按预期工作,这是输出:https://3v4l.org/Uf3Ya
您可以 运行 快速测试您想要的所有版本 docker。
在 5.6 中,您将获得预期的行为:
$ docker run -i php:5.6-cli php -r "echo ucwords('hello|world', '|') . PHP_EOL; "
Hello|World
也许可以检查 php --version
你实际调用的是什么版本?
作为参考,这是对没有选项的版本的响应:
docker run -i php:5.3-cli php -r "echo ucwords('hello|world', '|') . PHP_EOL; "
Warning: ucwords() expects exactly 1 parameter, 2 given in Command line code on line 1
根据文档添加参数:
5.4.32, 5.5.16 Added the delimiters parameter.
所以在@khorneholy 的情况下,5.5.9
不会有此功能
我只是想补充一下。
在我的一个系统 PHP 5.6.30-11+deb.sury.org~trusty+3
上,ucwords()
抛出警告:
Warning: ucwords() expects exactly 1 parameter, 2 given in ...
在我使用 PHP 5.6.33-0+deb8u1
的其他系统上,它工作正常。