我想通过会话发送我的数组。这是我的代码:
$result = mysqli_query($conn, trim($query1));
if(!$result)
{
die('INVALID QUERY: '.mysqli_error($conn));
}
while ($data = mysqli_fetch_row($result))
{
echo ("<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td><td>$data[3]</td><td>$data[4]</td><td>$data[5]</td><td>$data[6]</td><td>$data[7]</td><td>$data[8]</td></tr>");
$temp[] = $data[0];
}
$_SESSION['data'] = $temp;
但我现在只有失败。在另一个php文件中,想要显示这些值。
foreach ($_SESSION['data'] as $key) {
# code...
}
如何将变量保存到$ _SESSION?
答案 0 :(得分:0)
这可能会对你有帮助。
function sessionStore($sessionKey,$value) {
$sessionValue = null;
if (is_array($value)) {
$sessionValue = json_encode($value);
}
else{
$sessionValue = $value;
}
$_SESSION[$sessionKey] = $sessionValue;
}
function sessionRetrieveAll($sessionKey){
$value = $_SESSION[$sessionKey];
$result = json_decode($value,true);
if (json_last_error() === JSON_ERROR_NONE) {
return $result;
}
return $value;
}
function sessionRetrieve($sessionKey,$arrayKey = null){
$arr = $this->sessionRetrieveAll($sessionKey);
if(!is_array($arr)){
return $arr;
}
else if($arrayKey != null){
return isset($arr[$arrayKey]) ? $arr[$arrayKey] : null;
}
return $arr;
}
你可以像这样实施
$this->sessionStore('test',['a' => 'b', 'c' => 'd']);
print_r($this->sessionRetrieve('test')); //Returns array
echo $this->sessionRetrieve('test','a'); // Returns 'b'
$this->sessionStore('test2','just string');
echo $this->sessionRetrieve('test2'); // Returns 'just string'
干杯!!!