rosavox/lib/alveolata/cookie/functions.php

43 lines
665 B
PHP
Raw Normal View History

2025-05-23 07:33:29 +00:00
<?php
namespace alveolata\cookie;
/**
* @param string $string
* @return map<string,string>
* @author Christian Fraß <frass@greenscale.de>
*/
function decode(
$string
) : array
{
$parts = explode('; ', $string);
$stuff = [];
foreach ($parts as $part) {
$parts2 = explode('=', $part);
$stuff[$parts2[0]] = $parts2[1];
}
return $stuff;
}
/**
* @param map<string,string> $stuff
* @return string
* @author Christian Fraß <frass@greenscale.de>
*/
function encode(
array $stuff
) : string
{
$parts = [];
foreach ($stuff as $key => $value) {
$part = sprintf('%s=%s', $key, $value);
}
$string = implode('; ', $parts);
return $string;
}
?>