我在PHP中有一个变量,如下所示:
$currentMakeText = $advert->getMakeText();
if ($currentMakeText == '' || $currentMakeText === null || $currentMakeText == '0') {
在if
语句中,我想检查它是否只是文本,是否只是数字。
答案 0 :(得分:1)
检查两者:
if(ctype_alnum($currentMakeText)) { }
或者检查:
if(ctype_alpha($currentMakeText)) {
//letters
} elseif(ctype_digit($currentMakeText)) {
//digit
}
答案 1 :(得分:0)
你可以尝试这个:
if(is_string($currentMakeText) || is_numeric($currentMakeText))
答案 2 :(得分:0)
只需使用preg_match
正则表达式为[a-zA-Z0-9 ]
,如下所示:
$currentMakeText = $advert->getMakeText();
if (preg_match('/[a-zA-Z0-9 ]/', $currentMakeText)) {
// Your code here.
}
注意我在a-zA-Z0-9
之后添加了一个空格,因此它可以检测具有空格的单词组合的句子。但是你可以删除那个空格来纯粹检查像[a-zA-Z0-9]
这样的字母数字字符。
您可以使用i
上的preg_match
选项进行更简化,以防止不区分大小写:
$currentMakeText = $advert->getMakeText();
if (preg_match('/[a-z0-9 ]/i', $currentMakeText)) {
// Your code here.
}