PHP if()语句问题

时间:2013-10-30 15:53:12

标签: php if-statement

这是我的问题的图片,我无法发布图片.. http://rune-shadows.com/hiscores/img.PNG http://rune-shadows.com/hiscores/img1.PNG

当他的playerRights为0时,为什么我的if语句会给Nic5一个主持人图标?

while($row = $res->fetch_assoc()) {
    if($temp_score!=$row['0'])
    $rank++;
    $pr = $row['playerRights'];
    echo '<tr>
        <td>'.($rank).'</td>';
        if ($pr = 1) {
            echo '<td><img src ="img/mod.gif">&nbsp;<a href="personal.php?name='. htmlspecialchars($row['username']) .'">'. htmlspecialchars($row['username']) .'</a></td>';
        } else {
            echo '<td><a href="personal.php?name='. htmlspecialchars($row['username']) .'">'. htmlspecialchars($row['username']) .'</a></td>';
        }

        echo '
            <td>'.number_format($row['LVL']).'</td>
            <td>'.number_format($row['XP']).'</td>
        </tr>';
     $count++;
  }

3 个答案:

答案 0 :(得分:1)

您需要使用比较:

if ($pr === 1) {
...    
}

$pr = 1始终为真,因为您正在设置变量,而不是比较它。

答案 1 :(得分:1)

而不是行:

  if ($pr = 1)

你应该:

  if ($pr == 1)

你应该使用==而不是= operator。

在PHP中==表示相等,=表示赋值。 现在你可以理解为什么表达式“($ pr = 1)”总是如此。

PHP operator documentation

答案 2 :(得分:1)

if ($pr = 1) {

应该是

if ($pr === 1) {

或至少

if ($pr == 1) {