给定一个字符串,我们必须在不使用任何库函数的情况下将其转换为大写字符串。
PHP代码:
<?php //函数定义 //此函数接受字符串/文本,转换 //将文本转换为大写并返回转换后的大写字符串 function upperCase($str) { $chars = str_split($str); $result = ''; //从第0个字符到最后一个字符循环 for ($i = 0; $i < count($chars); $i++) { //提取字符并获取其ASCII值 $ch = ord($chars[$i]); //如果字符是小写字母,则转换 //将其转换为大写字母 if ($chars[$i] >= 'a' && $chars[$i] <= 'z') $result .= chr($ch - 32); else $result .= $chars[$i]; } //最后,返回字符串 return $result; } //函数调用 $text = "hello world"; echo upperCase($text); echo "<br>"; $text = "Hello world!"; echo upperCase($text); echo "<br>"; $text = "[email protected]"; echo upperCase($text); echo "<br>"; ?>
输出结果
HELLO WORLD HELLO WORLD! [email protected]
代码说明:
我们将字符串($str)转换为字符数组($chars),然后使用ord()
函数计算其ASCII值。因为我们知道在ASCII中,大写字符恰好在小写字母之前32位,所以我们从ASCII值中减去32,然后使用chr()
函数将其转换回字符。输出存储在$result变量中。
该程序是概念的很好证明。