-1

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

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

else 
{
printf('bye bye');
}

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

谢谢你的帮助。

4

7 回答 7

3

有内置功能可以满足您的需求。

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

检查是否为数字:

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

echo "it is a number";

}

正如 NB 在下面评论的那样,您可以将字符串视为数组,这也应该有效:

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";
}

希望这可以帮助!

于 2013-07-26T14:31:06.850 回答
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');
}
于 2013-07-26T14:32:08.897 回答
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()——它只能可靠地用于数组。传递 ' ' 时将返回 false - 将输出与 ''empty()进行比较更可靠trim()

于 2013-07-26T14:45:14.767 回答
0
is_numeric(substr($string, 0, 1))
于 2013-07-26T14:31:26.657 回答
0
if (is_numeric(substr($row['left_button_link'], 0, 1))){
    //do something
}
于 2013-07-26T14:32:16.870 回答
0

也许是这样的:

if(preg_match('/^\d/,$input)) {
    echo "First char is a digit.";
}
于 2013-07-26T14:32:20.833 回答
0

For question a use is_numeric() for question b use 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 (though seriously for a question this simple you should look it up in the manual)

于 2013-07-26T14:35:24.417 回答