为什么在将字符串转换为大写大写时使用strtolower()?

时间:2014-04-09 12:58:02

标签: php

我不明白这一点:

[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

3 个答案:

答案 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
?>