更改为比较运算符

时间:2012-06-01 15:14:56

标签: php

有人告诉我,即使使用支持它的库,前面的代码也没有使用参数。我正在使用赋值运算符而不是比较。真正的分支也是还原剂。

上一个代码:

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

当前代码:

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

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

我想仔细检查是否修复了代码,即使我已经测试过了。

1 个答案:

答案 0 :(得分:1)

以下内容:

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

你的if语句永远不会做任何事情。第一行使$profilepic等于$row['profilepic'](无论这是一个空字符串,null还是你有什么),条件检查它们是否相等 - 从来不会是这种情况你刚刚把它们弄平了。

如果您想提供默认图片,请执行以下操作:

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