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 语句永远不会做任何事情。第一行$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"];

如果配置文件图片列为空,我们将默认值分配给$profilepic。从那里我们可以呼应我们的形象。

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

演示:http ://codepad.org/KXuQyVma

于 2012-06-01T15:22:27.830 回答