如果语句检查第一个字符是否是数字
我需要一个php if语句来检查字符串的第一个字符是否是一个数字,但我不知道该怎么做,我尝试了几件事情没有工作。我的基本代码如下,它说“一个数字”是我需要它来改变第一个字符的地方。如果语句检查第一个字符是否是数字
if ($row['left_button_link'] == a number)
{
printf('hello');
}
else
{
printf('bye bye');
}
而且我怎么添加第三个支票本声明。如果正在检查一个数字,其他字符串将以“/”开头,但如果我想要第三个选项,如果字符串是空的,根本没有字符,我该如何补充?
感谢您的任何帮助。
有内置的功能可以满足您的需求。
-
is_numeric()
检查,如果是一个数字, -
substr()
或similr因为如果第一个字符检查是检查什么 -
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";
}
希望这有助于!
只是一个说明 - 你可以把一个字符串作为一个字符数组和使用'$ string [0]'而不是substr。 +1在任何情况下。 –
@ N.B。谢谢,我不知道。 – Mihai
@Mihai非常感谢你。这工作完美。 – user2574794
is_numeric(substr($string, 0, 1))
可以使用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');
}
if (is_numeric(substr($row['left_button_link'], 0, 1))){
//do something
}
也许是这样的:
if(preg_match('/^\d/,$input)) {
echo "First char is a digit.";
}
针对问题B使用问题上use is_numeric()
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 (尽管严重的问题,这个简单,你应该看它的说明书)
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()
的输出与比较'
人们回答如此之快在这里我没有看到这个!所以“其他如果”是如何有多个ifs。谢谢,这正是我需要的:) – user2574794
@ user2574794确实,请记住我关于'empty()的最后一句话,它不会将字符串中的空格分类为空 – SmokeyPHP
@ user2574794因为这是从技术上来说,这是整个问题的正确答案(尽管其他人提供了有效的部分答案),我还建议删除其他答案中的答案,并接受此答案,以便将来为这个问题的读者 – SmokeyPHP
如何[阅读手册](http://php.net/manual/en/function.is-numeric。 PHP)? – Leri
这个东西(特别是最后一个请求)是非常基本的 - 我建议你通过在线PHP教程。有许多关于,但有2个是:http://www.w3schools.com/php/&http://www.tizag.com/phpT/ – SmokeyPHP