检查输入是否为字符串的方法

时间:2015-07-10 09:11:03

标签: php

我正在编写一种方法来检查输入是否为字符串。到目前为止我有这个:

public function stringCheck($string){

    if (!empty($string) && is_string($string)){
        return true;
    }else {
        return false;
    }
}

但是,它总是返回true,因为is_string也接受整数。是否有替代is_string?我只是想确保输入不是空的,实际上是一个字符串(检查长度也很酷)。

干杯

5 个答案:

答案 0 :(得分:0)

is_string()不接受整数,除非你的意思是' 55'是一个整数。 但是你必须验证字符串是否包含任何字母字符。

查看文档: http://php.net/manual/en/function.is-string.php

答案 1 :(得分:0)

PHP函数is_string()可以正常工作以检查值是否为字符串。请检查您是否给出没有引号的整数值

答案 2 :(得分:0)

你错了,is_string也不接受整数。

$num = 1;
$isString = is_string($num);
var_dump($isString);//false

您的问题是您传递的字符串包含一个整数。如果你不希望字符串包含任何整数或数字,你可以使用正则表达式。

$string = 'foo';
$isString = preg_match('/^([^0-9]*)$/', $string, $matches);
var_dump($isString); //true

$string = '44';
$isString = preg_match('/^([^0-9]*)$/', $string, $matches);
var_dump($isString); //false

//note that a combination retruns false too
$string = '44 foo';
$isString = preg_match('/^([^0-9]*)$/', $string, $matches);
var_dump($isString); //false

答案 3 :(得分:0)

public function stringCheck($string){

    if (!empty($string) && ctype_alpha($string))
        return true;
    else
        return false;

}

您似乎只想要字母字符。所以学习ctype_alpha();

答案 4 :(得分:0)

如果它正是您所寻找的,您也可以查看它:

http://php.net/manual/en/function.ctype-digit.php

相关问题