На самом деле, все, что вам нужно сделать, это:
<?php
setcookie('name[123456].newName', 20);
?>
Это создает следующий заголовок:
Set-Cookie: name[123456].newName=20
... и браузеры (ну, по крайней мере, Firefox) кажутсячтобы справиться с этим просто отлично.
Проблема начинается, когда вы хотите прочитать значение обратно.PHP имеет отличную особенность: всякий раз, когда он находит входной параметр (get, post, cookie ...) с квадратными скобками на своем имени, он строит массив из него.Так что print_r($_COOKIE)
отображает это:
Array
(
[name] => Array
(
[123456] => 20
)
)
Я не знаю ни одного способа отключить эту функцию, поэтому вам, вероятно, нужно использовать строковые функции и анализировать содержимое файла cookie, который можно найти на$_SERVER['HTTP_COOKIE']
:
name[123456].newName=20