如何使用php检查字符串中的最后一个字符是否是问号(?)?
这是我目前的尝试,但不幸的是它似乎不起作用:
if (substr(strrev(trim($link)),0,0) != "?")
{
}
如何使用php检查字符串中的最后一个字符是否是问号(?)?
这是我目前的尝试,但不幸的是它似乎不起作用:
if (substr(strrev(trim($link)),0,0) != "?")
{
}
if (substr(rtrim($link), -1) != "?") {
// Do stuff
}
给负值start
使其substr()
从结尾而不是开头开始计数。
您的代码有两个主要错误。首先,比较是错误的。您在问最后一个字符是否不是问号。此外,您将获得一个长度为 0 的子字符串,因此它始终不等于问号,因为'' != '?'
始终是True
.
使用您的原始代码,您可以将其更改为:
if (substr(strrev(trim($link)),0,1) == "?")
{
//Do things
}
或者,这稍微短一些,只从末尾开始计算子字符串的索引:
$link = "Say what?";
if (substr($link,-1) == "?")
{
echo "You heard me!";
}
它是 php,总有替代方案:
$link='123?';
if (end(str_split($link)) == "?"){
echo 'YES';
}
最简单的方法是:
if (substr("question?", -1) == '?')
有时我还会检查其他标记,例如?
!
or .
:
if (in_array(substr("question?", -1), ['?', '!' , '.']))