根据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包中的错误,还是我的错误?
感谢您的时间。
答案 0 :(得分:2)
代码
<?php
$word = "foo|bar";
echo(ucwords($word, "|"); // Foo|Bar
在所有PHP版本中按预期工作,这是输出:https://3v4l.org/Uf3Ya
答案 1 :(得分:1)
您可以使用docker运行所需的所有版本的快速测试。
使用5.6,您将获得预期的行为:
$ docker run -i php:5.6-cli php -r&#34; echo ucwords(&#39; hello | world&#39;,&#39; |&#39;)。 PHP_EOL; &#34;
你好|世界
也许请问php --version
您实际呼叫的是哪个版本?
作为参考,这是没有选项的版本的响应:
docker run -i php:5.3-cli php -r&#34; echo ucwords(&#39; hello | world&#39;,&#39; |&#39;)。 PHP_EOL; &#34;
警告:ucwords()期望在第1行的命令行代码中给出1个参数,2
根据文档:
添加参数5.4.32,5.5.16添加了分隔符参数。
因此,对于@khorneholy,5.5.9
将没有此功能
答案 2 :(得分:0)
我只想补充一下。
在我的系统之一PHP 5.6.30-11+deb.sury.org~trusty+3
上,ucwords()
会发出警告:
警告:ucwords()预计在...
中给出1个参数,2
在我使用PHP 5.6.33-0+deb8u1
的其他系统上,它运行正常。