PHP变量未在浏览器中显示
我有以下功能:PHP变量未在浏览器中显示,php,variables,echo,associative-array,Php,Variables,Echo,Associative Array,我有以下功能: function getAllProducts($productCount) { $productsParsed = 0; $limit = 250; $pages = ceil($productCount / $limit); $pageNumber = 1; $filters = ""; $requestParams = array("page" => $pageNumber, "limit" => $limit, "include" => $filters
function getAllProducts($productCount) {
$productsParsed = 0;
$limit = 250;
$pages = ceil($productCount / $limit);
$pageNumber = 1;
$filters = "";
$requestParams = array("page" => $pageNumber, "limit" => $limit, "include" => $filters);
echo $productCount . " products to parse... \n";
echo "=======================================\n";
if ($productCount <= $limit) {
$products = Bigcommerce::getProducts($requestParams);
$products = (array) $products;
foreach ($products as $product) {
$productsParsed++;
echo $product -> name . " " . $product -> price . "\n";
}
} else { // More than $limit products in catalog.
while ($productsParsed <= $productCount) {
if ($productsParsed === 0 || $productsParsed % $limit > 0) {
// 0 or not on a multiple of $limit
$products = Bigcommerce::getProducts($requestParams);
$productsObject = new ArrayObject($products);
$productsArray = $productsObject->getArrayCopy();
foreach ($productsArray as $product) {
$productsParsed++;
echo $product -> name . " " . $product -> price . "\n";
}
} else {
// multiple of $limit
$pageNumber++;
$requestParams = array("page" => $pageNumber, "limit" => $limit, "include" => $filters);
$products = Bigcommerce::getProducts($requestParams);
$productsObject = new ArrayObject($products);
$productsArray = $productsObject->getArrayCopy();
foreach ($productsArray as $product) {
$productsParsed++;
echo $product -> name . " " . $product -> price . "\n";
}
}
}
}
if ($productsParsed == $productCount) {
echo "=======================================\n All products accounted for.\n";
} else {
$missingProducts = $productCount - $productsParsed;
echo "=======================================\n" . $missingProducts . " products unaccounted for.\n";
}
}
是什么原因导致终端和浏览器之间的回显不同?通过调用
Bigcommerce
,其他任何人都无法实际运行您的代码。为了调试输出中的差异,您做了哪些工作?@jbforget,我刚刚在$productCount上做了一个var_dump()。在命令行中返回int(152),但在浏览器中返回NULL。我真的很难理解这一点,因为两者都在本地服务器上,这不像我在本地使用命令行,而是在浏览器视图中使用远程服务器。如果productCount为null,则假定您没有在web php文件中向getAllProducts调用传递参数。将这一行添加到上面的第9行:If(!empty($productCount){echo$productCount.“要分析的产品…\n”}否则{echo“没有产品”}谢谢@crafter,这就是问题所在;浏览器将其视为空,命令行识别该值(152)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
products to parse...
=======================================
=======================================
All products accounted for.
</body>
</html>