2011-02-07 11 views
2

$ aというPHP文字列がある場合は、それは、kで終わるか、kで終わらないかのどちらかです。php string end identify

kで終了する場合は何もしませんが、kで終わらない場合は$ bを最後に追加します。これを行うために$ a文字列がどのようなもので終わるのかを私はどのように認識できますか?

$a=asdk ----> do nothing 
$a=asdtt ---->add string $b(=rrk say) to make it $a=asdttrrk 

答えて

2

あなたは$a[i]を使用して、特定の文字にアクセスすることができますので、最後の文字は$a[strlen($a) - 1]だろう。

6

このメソッドを使用:

if ($a[strlen($a) -1] !== 'k') $a .= $b; 

代替

if (substr($a, -1) !== 'k') $a .= $b; 
2
$last_char = $a[count($a) - 1]; 

if ($last_char == 'k') { 
    //do stuff here 
} 
0
function isLast($str) { 
    return $str[strlen($str)-1]; 
} 

$string = 'abcdefghijk'; 

if(isLast($string) == 'k') { 
    echo 'true'; 
} 
else { 
    echo 'false'; 
} 

さらに別バージョン(カスタム関数を使用して好む場合)

1

substr_compareもあります:

// test 1 
$a = "asdfasdf"; 
$b = "foo"; 
$a .= (substr_compare($a, 'k', -strlen('k'), strlen('k')) === 0) ? "" : $b; 
echo $a; // asdfasdffoo 

echo "\n\n"; 

// test 2 
$a = "asdfasdkkkk"; 
$b = "foo"; 
$a .= (substr_compare($a, 'k', -strlen('k'), strlen('k')) === 0) ? "" : $b; 
echo $a; // asdfasdkkkk 

Try it out here.

+0

...と私はそれを見たときに、今、それは*完全*ばかげているようです! – karim79