The PHP session_encode()
function is used to serialize the available session data as an encoded string.
The function accepts no parameter, and it will return a string
or false
based on the available session data.
session_encode(): string|false
Here’s an example of calling the session_encode()
function:
<?php
// 👇 call session_start() to make $_SESSION available
session_start();
// 👇 create some session data
$_SESSION['logged_in'] = true;
$_SESSION['username'] = 'Jack';
// 👇 echo the call to session_encode()
echo session_encode();
// 👇 returned value
// logged_in|b:1;username|s:4:"Jack";
The call to session_encode()
in the code above returns:
logged_in|b:1;username|s:4:"Jack";
The function uses plain serialize function that’s diferent from the serialize()
function.
If you use the serialize()
function, the result would be:
a:2:{s:9:"logged_in";b:1;s:8:"username";s:4:"Jack";}
You need to call the session_start()
function before calling the session_encode()
function, or PHP will show the following notice:
Warning: session_encode(): Cannot encode non-existent session in ...
And that’s how the session_encode()
function works in PHP 👍