我希望我的标题有意义。现在我的 PHP 输出到我的 HTML 文档工作正常。除非我的 SQL 数据库为空,否则我到处都会出错。这是我的代码:
<?php
// configuration
require("../includes/config.php");
$rows = CS50::query("SELECT symbol, shares FROM portfolios WHERE user_id = ?", $_SESSION["id"]);
$cash = CS50::query("SELECT cash FROM users WHERE id = ?", $_SESSION["id"]);
$positions = [];
foreach ($rows as $row)
{
$stock = lookup($row["symbol"]);
$total = ($stock["price"] * $row["shares"]);
if ($stock !== false)
{
$positions[] = [
"name" => $stock["name"],
"price" => $stock["price"],
"shares" => $row["shares"],
"symbol" => $row["symbol"],
"total" => $total,
"cash" => $cash[0]["cash"]
];
}
}
// render portfolio
render("portfolio.php", ["positions" => $positions, "title" => "Portfolio"]);
?>
因此,如果 $rows
在这种情况下为空,则 positions 数组将抛出错误。所以如果 $rows
为空,我希望它为空。我希望我说清楚了。
最佳答案
数组不会抛出错误,我假设您的意思是您在尝试使用空数组时遇到了错误。在那种情况下,如评论中所述,只需使用 count()
检查它是否为空即可。 .
// render portfolio
if (count($positions) === 0) {
$positions[] = [
"name" => "",
"price" => 0,
"shares" => 0,
"symbol" => "",
"total" => 0,
"cash" => 0
];
}
render("portfolio.php", ["positions" => $positions, "title" => "Portfolio"]);
关于php - 如何获得一个空的关联数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34860330/