Php 更改为比较运算符

Php 更改为比较运算符,php,Php,我被告知前面的代码没有使用参数,即使在使用支持参数的库时也是如此。我使用的是赋值运算符,而不是比较运算符。真正的分支也是冗余的 以前的代码: if ($profilepic = $row['profilepic']){ $profilepic = $row['profilepic']; }else{ $profilepic = "DamjuNoImage"; } 当前代码: $profilepic = $row['profilepic']; $noimage = "DamjuN

我被告知前面的代码没有使用参数,即使在使用支持参数的库时也是如此。我使用的是赋值运算符,而不是比较运算符。真正的分支也是冗余的

以前的代码:

if ($profilepic = $row['profilepic']){
    $profilepic = $row['profilepic'];
}else{
    $profilepic = "DamjuNoImage";
}
当前代码:

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

if ($profilepic != $row['profilepic']){
        echo $noimage;
    }
我想再次检查,看看我是否修复了代码,即使我已经测试过它。

如下所示:

$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"];
如果profile pic列为空,我们将默认值分配给
$profilepic
。从那里,我们可以只回想起我们的形象

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

演示:

您需要重新学习基础知识。显而易见,在当前版本中,
if
块永远不会做任何事情。几乎可以肯定的是,这段代码并没有达到您的预期效果(因为它的实际功能毫无意义)。当我测试它时,当前代码达到了我的预期效果。@taeja87您希望它做什么?谢谢!我决定使用更简洁的一个。@taeja87我对那个部分做了重要的修改;请使用更新版本。我明白了。谢谢。我学到了一些新东西。