我不明白这一点:
[1]
<?php
$test="HELLO WORLD";
echo ucwords($test);
// it will print HELLO WORLD
?>
[2]
<?php
$test="HELLO WORLD";
echo ucwords(strtolower($test));
// it will print Hello World
?>
为什么在将字符串转换为大写大写时使用strtolower
?
答案 0 :(得分:6)
来自documentation for ucwords()
:
如果该字符是字母的,则返回一个字符串,其中str strong大写的每个单词的第一个字符。
ucwords()
只关心单词的第一个字符。它完全不受影响。
答案 1 :(得分:3)
ucwords()
不将字符串转换为小写。它也不会将非首字母转换为小写字母。 仅将第一个字母转换为大写。
这就是为什么在使用ucwords()
之前必须将这些字母显式转换为小写的原因。
答案 2 :(得分:1)
在以下代码中 变量$ test是大写的。 ucwords只更改每个单词的第一个字母。您无法看到更改,并且变量的结果是相同的。
[1]
<?php
$test="HELLO WORLD";
echo ucwords($test);
// it will print HELLO WORLD
?>
在第二个代码中...... 所有字符串变量首先使用strtolower函数转换为小写 然后ucwords函数将单词中的所有第一个字符更改为大写。
使用strtolower,结果是=&gt; “你好世界”
之后,ucwords的结果是“Hello World”。
[2]
<?php
$test="HELLO WORLD";
echo ucwords(strtolower($test));
// it will print Hello World
?>