在PHP中,如果数组的键(也就是索引)没有显式地指定,PHP会自动将其作为数组中最后一个元素的索引加上1。这就导致了使用array($_SESSION['tab'])时会自动添加一个元素,而不仅是从SESSION中获取已有的元素。为了解决这个问题,我们可以使用一些方法来获取无键名的SESSION变量而不会自动添加元素。下面是两种示例代码:
//方法1:使用filter_var_array方法 $session_var = filter_var_array($_SESSION, ['tab' => '']); $tab_arr = array($session_var['tab']);
//方法2:使用key_exists方法 $tab_arr = array(); if(key_exists('tab', $_SESSION)){ $tab_arr[] = $_SESSION['tab']; } ?>
在这两个示例中,我们都成功解决了使用array($_SESSION['tab'])时会自动添加一个元素的问题。