检查最后一个字符是否为问号

时间:2013-07-02 02:16:54

标签: php

如何使用php检查字符串中的最后一个字符是否为问号(?)?

这是我目前的尝试,但不幸的是它似乎无效:

if (substr(strrev(trim($link)),0,0) != "?")
{

}

4 个答案:

答案 0 :(得分:9)

if (substr(rtrim($link), -1) != "?") { 
  // Do stuff
}

start提供负substr()值会使其从结尾而非开头计算。

答案 1 :(得分:1)

您的代码有两个主要错误。首先,比较是错误的。您询问最后一个字符是否是问号。此外,您将获得0长度子字符串,因此始终不等于问号,因为'' != '?'始终为True

使用原始代码,您可以将其更改为:

if (substr(strrev(trim($link)),0,1) == "?")
{
    //Do things
}

或者,这稍微短一些,只计算来自结尾的子字符串的索引:

$link = "Say what?";
if (substr($link,-1) == "?")
{
 echo "You heard me!";
}

答案 2 :(得分:0)

它是php,总有其他选择:

$link='123?';
if (end(str_split($link)) == "?"){
    echo 'YES';
}

答案 3 :(得分:0)

最简单的方法是:

if (substr("question?", -1) == '?')

有时我会检查其他标记,例如? !.

if (in_array(substr("question?", -1), ['?', '!' , '.']))