用于检查字符串的PHP函数是否全部为小写

时间:2014-08-16 12:46:35

标签: php

我尝试创建一个函数,如果字符串全部小写而不使用任何内置PHP函数,则返回TRUE,任何帮助?

这就是我正在使用的,但使用的是ctype_lower。

$string = "string";

if (ctype_lower($string)) {
    echo $string.' is all lowercase letters.';
} else {
    echo $string.' is not all lowercase letters.';
}

2 个答案:

答案 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,如果没有,则删除字符串的第一个字符并继续像整个字符串一样。希望它有所帮助!