我尝试创建一个函数,如果字符串全部小写而不使用任何内置PHP函数,则返回TRUE,任何帮助?
这就是我正在使用的,但使用的是ctype_lower。
$string = "string";
if (ctype_lower($string)) {
echo $string.' is all lowercase letters.';
} else {
echo $string.' is not all lowercase letters.';
}
答案 0 :(得分:8)
如果你只是想要一个简单的目的检查,你可以只比较strtolower
红色字符串中的原始字符串。当然,它不会万无一失。像这样:
function check_lowercase_string($string) {
return ($string === strtolower($string));
}
$string = 'Hi! I am a string';
var_dump(check_lowercase_string($string)); // false
var_dump(check_lowercase_string('test')); // true
没有任何功能的痛苦尝试:
function check_lowercase_string($string) {
$chars = '';
// map all small chars
for($alpha = 'a'; $alpha != 'aa'; $alpha++) { $small[] = $alpha; }
$l = 0; // not strlen() :p
while (@$string[$l] != '') {
$l++;
}
for($i = 0; $i < $l; $i++) { // for each string input piece
foreach($small as $letter) { // for each mapped letter
if($string[$i] == $letter) {
$chars .= $letter; // simple filter
}
}
}
// if they are still equal in the end then true, if they are not, false
return ($chars === $string);
}
var_dump(check_lowercase_string('teSt')); // false
答案 1 :(得分:0)
您可以使用内置的ctype_lower,因此您不需要:c。但您可以使用here的答案。然后组合一个循环来检查第一个字符,如果upperace然后返回true,如果没有,则删除字符串的第一个字符并继续像整个字符串一样。希望它有所帮助!