PHP重写cookie值而不重置生存期


PHP rewrite cookie value without lifetime reset

我正在设置cookie的生存时间,直到午夜到来。

setcookie('foo', 'bar', strtotime('today 23:59') );

如何在不重置生存期的情况下重写['foo']的值?例如setcookie('foo', 'foo-bar', /* current lifetime*/ );

如何使用"foo"键获取cookie的当前生存期?

我的方式:保存json编码的数组,如

$time_to_set = strtotime('today 23:59');
$cookie = json_encode(array( 'foo' => 'bar', 'ttl' => $time_to_set, ));
setcookie('foo', $cookie, $time_to_set );

并读取cookie TTL:

$cooke_personal_ttl = json_decode($_COOKIE['foo'], true)['ttl'];

或者类似的东西。。