PHP在函数输出上生成数字"1".我以前从未见过这样做过

nic*_*nes 1 php

function holiday_hitlist($tablename, $hit_user){

    global $host, $user, $pass, $dbname;

    $link = mysql_connect($host, $user, $pass, $dbname);

    print "<div class=\"hit_list\">
            <h3>My Holiday Hitlist</h3>
            <p>Five things I want the most, based on my desirability ratings.<br/>You can't go wrong with this stuff!</p>
            <ol>";

    $sql = "SELECT title, URL, price FROM $dbname.$tablename WHERE user='$hit_user' AND rank >= 3 ORDER BY date DESC LIMIT 5";
    $result = mysql_query($sql) or die ("Couldn't retrieve holiday hit list for this user. " . mysql_error());
    while($row = mysql_fetch_array($result)) {
        $title = $row['title'];
        $url = $row['URL'];
        $price = "$" . $row['price'];
        $output = print "<li><a href=\"$url\" target=\"_blank\">$title</a> $price</li>";
    }
    print "</ol></div>";
    return $output;
}
Run Code Online (Sandbox Code Playgroud)

在HTML页面上,它将"1"紧跟在结束div标记之后.为什么?

Zor*_*che 9

看到这条线

$output = print "<li><a href=\"$url\" target=\"_blank\">$title</a> $price</li>";
Run Code Online (Sandbox Code Playgroud)

您应该在$ output =之后删除打印件

或者你可能只需要删除$ output =

我不太清楚你的意图.

要解释一下,$ output正在获得print"..."的返回值


bar*_*oon 6

来自php.net参考:

"回归价值观

总是返回1."

http://ca.php.net/manual/en/function.print.php

您应该将$ output指定为您想要的输出,然后使用print来显示该输出.