初学者如果声明帮助

时间:2009-08-08 03:28:27

标签: php

if ($row['active'] == 1) echo '<a href="prof?id=$id">'.htmlspecialchars($row['username']).'</a>'; else echo htmlspecialchars($row['username']);

我能以某种方式写出更短更清洁的东西吗?

3 个答案:

答案 0 :(得分:4)

echo $row['active'] == 1 ?  '<a href="prof?id=$id">'.htmlspecialchars($row['username']).'</a>' : htmlspecialchars($row['username']);

在这里解释了一点http://www.addedbytes.com/php/ternary-conditionals/

答案 1 :(得分:1)

我假设你把$ id放在一个带引号的字符串中是错误的,并且意味着php将$ id的值放在那里。

$name=htmlspecialchars($row['username']);
if($row['active'] == 1) {
    echo "<a href='prof?id=$id'>$name</a>";
} else {
    echo $name;
}

答案 2 :(得分:0)

您可以利用ternary运算符:

echo ($row['active'] == 1) 
    ? '<a href="prof?id=$id">'.htmlspecialchars($row['username']).'</a>'
    : htmlspecialchars($row['username'])
;

(为了格式化,我将代码分成不同的行。