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']);