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>