似乎没有设置$_SESSION['discountCalculator']的事实可能是因为没有设置$_SESSION(NULL)。这种情况主要发生在您未在页面开头执行session_start()时。
尝试在函数开头添加session_start()。
function addToDiscountArray($item) {
if (!$_SESSION) { // $_SESSION is NULL if session is not started
session_start(); // we need to start the session to populate it
}
// if we already have the discount array set up
if(isset($_SESSION["discountCalculator"])){
// check that this item is not already in the array
if(!(in_array($item,$_SESSION["discountCalculator"]))){
// add it to the array if it isn't already present
array_push($_SESSION["discountCalculator"], $item);
}
}
else{
$array = array($item);
// if the array hasn't been set up, initialise it and add $item
$_SESSION["discountCalculator"] = $array;
}
}请注意,如果会话已启动,则不会影响该功能。如果会话未启动,它将只运行'session_start()`。