PHP对数组进行计数并返回0而不是空

PHP对数组进行计数并返回0而不是空,php,Php,我试图在PHP会话中计算数组数据,它工作得很好,但如果会话中还没有数据,它将返回空值和警告。如何使其返回0 我应该使用if语句吗?您需要首先启动会话,并且应该始终对未知变量(或数组键)使用isset() $result = isset($_SESSION['cart']) ? count($_SESSION['cart']) : 0; echo $result; 您需要首先启动会话,并且应该始终对未知变量(或数组键)使用isset() 您可以使用空合并运算符并使用空数组作为默认值: <?

我试图在PHP会话中计算数组数据,它工作得很好,但如果会话中还没有数据,它将返回空值和警告。如何使其返回0


我应该使用
if
语句吗?

您需要首先启动会话,并且应该始终对未知变量(或数组键)使用
isset()

$result = isset($_SESSION['cart']) ? count($_SESSION['cart']) : 0;
echo $result;

您需要首先启动会话,并且应该始终对未知变量(或数组键)使用
isset()


您可以使用空合并运算符并使用空数组作为默认值:

<?php echo count($_SESSION['cart'] ?? []);

您可以使用空合并运算符并使用空数组作为默认值:

<?php echo count($_SESSION['cart'] ?? []);

你得到了哪项工作?看起来你以前没有
会话\u start()
。我们可以找出警告消息,但这通常不是从问题中忽略它的好理由。错误消息是帮助编码的诊断信息。您得到的是哪种工作?看起来您以前没有
session\u start()
。我们可以找出警告消息,但这通常不是从问题中忽略它的好理由。错误消息是帮助编码的诊断信息。
<?php
session_start();
if (!$_SESSION) {
    $_SESSION['cart'] = [];
}
echo count($_SESSION['cart']);