我想询问 substr()函数。我有这样的代码:
<?php
$word = 'diriku';
$word2 = $word;
//first condition
if ( (substr($word,-3)=="kah") or (substr($word,-3)=="lah") or (substr($word,-3)=="pun") or (substr($word,-3)=="nya"))
{
$word2 = substr($word,0,-3);
}
//second condition
else if( (substr($word,-2)=="ku") or (substr($word,-2)=="mu") )
{
$word2 = substr($word,-2);
}
echo $word2;
echo "<br />";
echo $word;
?>
结果必须是: DIRI ,但我不知道为什么结果 DIR 。我的观点是 substr 在第一个条件下被切断,尽管它是真的还是假的。
所以任何人都知道如何逻辑比较substr函数,所以如果第一个条件为true,则传递else,如果cond为false,则继续为else,而不是总是为真。
很抱歉这个混乱的解释..我不知道如何清楚地描述它。
答案 0 :(得分:1)
请试一试。
if ( (substr($word,-3)=="kah") or (substr($word,-3)=="lah") or (substr($word,-3)=="pun") or (substr($word,-3)=="nya"))
您的第三个条件似乎有问题
答案 1 :(得分:1)
<?php
$word = 'songsangkukah';
$word2 = $word;
if ( (substr($word,-3)=="kah") or (substr($word,-3)=="lah") or (substr($word,-3)=="pun") or (substr($word,-3)=="nya"))
{
$word2 = substr($word, 0 , -3);
}
if((substr($word2,-2)=="ku")or(substr($word2,-2)=="mu"))
{
$word2 = substr($word2 , 0 , -2);
}
echo $word2;
echo "<br />";
echo $word;
?>
你走了。所需的输出。
答案 2 :(得分:-1)
请检查您的代码。
substr($word,-3=="pun"),
// it should be
(substr($word,-3)=="pun")