如果声明检查第一个字符是否为数字

时间:2013-07-26 14:29:39

标签: php

我需要一个php if语句来检查一个字符串的第一个字符是否是一个数字,但我不知道该怎么做,我尝试了一些没有用的东西。我的基本代码如下所示,其中“数字”是我需要它来查看第一个字符的地方。

if ($row['left_button_link'] == a number) 
{
printf('hello');
}

else 
{
printf('bye bye');
}

另外,如何在此语句中添加第三个检查。 if正在检查一个数字,else字符串将以“/”开头,但如果我想要第三个选项,如果字符串为空,根本没有字符,我该如何添加?

感谢您的帮助。

7 个答案:

答案 0 :(得分:3)

有内置功能可以满足你的需要。

  • is_numeric()检查是否为数字,
  • substr()或者用于检查第一个字符是否为
  • empty()用于检查字符串是否为空

检查是否是数字:

if( is_numeric(substr($string,0, 1))  ){

echo "it is a number";

}

如下面N.B所述,您可以将字符串视为数组,这也应该有效:

if( is_numeric($string[0]) ) {

    echo "it is a number";

}

因此,当我们应用所有这些时,您的代码应如下所示:

$var = $row['left_button_link'];

if( is_numeric($var[0]) ) 
{
    echo "It starts with a number!";
}
elseif ( $var[0] == '/' )
{
    echo "Uh oh, first character is a slash";
}
elseif( empty($var) ) {
    echo "Bye bye";
}

希望这有帮助!

答案 1 :(得分:3)

您可以使用is_numeric功能:

is_numeric($str[0])

所以最终的产品应该是:

if (is_numeric($row['left_button_link'][0])) {  // check if first char is numeric
    printf('hello');
}
elseif ($row['left_button_link'][0] == '/') {   // check if first char is '/'
    printf('First char is /');
}
elseif (empty($row['left_button_link'])) {      // check if string is empty
    printf('Empty!');
}
else{
    printf('bye bye');
}

答案 2 :(得分:0)

is_numeric(substr($string, 0, 1))

答案 3 :(得分:0)

if (is_numeric(substr($row['left_button_link'], 0, 1))){
    //do something
}

答案 4 :(得分:0)

可能是这样的:

if(preg_match('/^\d/,$input)) {
    echo "First char is a digit.";
}

答案 5 :(得分:0)

问题问题use is_numeric()问题b使用elseif (...)

if (is_numeric($row['left_button_link'][0])) {
    printf('hello');
    }
elseif (empty($row['left_button_link'])){
    printf('String is empty');
    }
else{
    printf('bye bye');
    }

HTH (虽然认真对待这个简单的问题,你应该在手册中查找)

答案 6 :(得分:0)

if(ctype_digit($row['left_button_link'][0]))
{
    //First char is numeric
}
else if($row['left_button_link'][0] == '/')
{
    //First char is "/"
}
else if(trim($row['left_button_link']) == '')
{
    //String is completely empty
}
else
{
    //Something else
}

使用empty()检查字符串是否为空时要小心 - 它只能在数组上可靠地使用。传递'empty()将返回false - 将trim()的输出与''

进行比较更可靠