1
$string = '540';

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

$stringが 34 文字を超える場合は、「...」を追加する必要があります。それ以外の場合は、文字列を出力するだけです。

何が起こっているのかというと、インタープリターが比較を行うときに文字列が数値であると想定していると思います。

に変更$stringすると、同じ問題が発生します

$string = '540 rocks !'

どうしてこれなの?

4

2 に答える 2

2

実行したいテストが文字列の長さである場合は、次の行を変更するだけです。

if ($string >= 34)){

これに:

if (strlen($string) >= 34)){
于 2011-11-12T19:10:58.750 に答える
2

次のようにする必要があります。

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

いいえ

if ($string >= 34)){
于 2011-11-12T19:11:37.950 に答える