0

以前のコードは、それをサポートするライブラリを使用している場合でも、パラメータを使用していないと言われました。そして、私は比較ではなく代入演算子を使用していました。また、真のブランチは冗長です。

以前のコード:

if ($profilepic = $row['profilepic']){
    $profilepic = $row['profilepic'];
}else{
    $profilepic = "DamjuNoImage";
}

現在のコード:

$profilepic = $row['profilepic'];
$noimage = "DamjuNoImage";

if ($profilepic != $row['profilepic']){
        echo $noimage;
    }

すでにテストしているのに、コードを修正したかどうかを再確認したかったのです。

4

1 に答える 1

1

次のように:

$profilepic = $row['profilepic'];
if ($profilepic != $row['profilepic']){
    echo $noimage;
}

あなたのifステートメントは決して何もしません。最初の行は$profilepicequalになり$row['profilepic'](空の文字列、null、またはwhat-have-you)、条件はそれらが等しくないかどうかをチェックします。これは、等しくし終えたばかりなので、決して当てはまりません。

デフォルトの画像を提供する場合は、次のようにします。

if ( empty( $row["profilepic"] ) ) {
    $profilepic = $row["profilepic"];
} else {
    $profilepic = "DamJuNoImage";
}

または、より簡潔に記述します。

// Assign value of column if not empty, otherwise "DamJuNoImage"
$profilepic = empty( $row["profilepic"] ) 
    ? "DamJuNoImage" 
    : $row["profilepic"];

プロファイルのpic列が空の場合、デフォルト値をに割り当てます$profilepic。そこから、画像をエコーすることができます。

echo "<img src='{$profilepic}' />";

デモ:http ://codepad.org/KXuQyVma

于 2012-06-01T15:22:27.830 に答える