2011-11-12 18 views
1
$string = '540'; 

if (strlen ($string >= 34)){ 
    print_r((substr($string, 0, 30) . "...")); 
} else { 
    print_r(($string)); 
} 

$stringが34文字より長い場合は、「...」が付加されます。それ以外の場合は、文字列が印刷されます。PHPの不適切な比較動作

私は、インタープリタが文字列を比較していると仮定していると考えています。

私は$string

$string = '540 rocks !' 

これはなぜに変更する場合にも同様のしゃっくりを持っていますか?この中

if ($string >= 34)){ 

:あなたがやりたいテストは文字列の長さである場合

+3

あなたは '>'数字*の数字を比較したと思いましたか? –

+1

また、二重括弧は必要ないので、 'print_r(($ string))'を 'print_r($ string)'に変更してください。 – Ryan

+0

私の悪いです。 。 。私は急いでいた、カッコに気付かなかった – TuK

答えて

2

は次のようになります。

if (strlen($string) >= 34)) { 

ありません

if ($string >= 34)){ 
2

、ちょうどこの行を変更

if (strlen($string) >= 34)){ 
関連する問題