我正在编写一种方法来检查输入是否为字符串。到目前为止我有这个:
public function stringCheck($string){
if (!empty($string) && is_string($string)){
return true;
}else {
return false;
}
}
但是,它总是返回true,因为is_string也接受整数。是否有替代is_string?我只是想确保输入不是空的,实际上是一个字符串(检查长度也很酷)。
干杯
答案 0 :(得分:0)
is_string()不接受整数,除非你的意思是' 55'是一个整数。 但是你必须验证字符串是否包含任何字母字符。
答案 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)
如果它正是您所寻找的,您也可以查看它: