Я огляделся вокруг, но не могу найти объяснения тому, что происходит в моих переменных $ _SESSION.php session variable многомерный ассоциативный массив проблема
@ob_start();
[email protected]_get_contents();
@ob_end_clean();
@session_start();
unset($s,$m);
$m1 = explode(" ", microtime());
$stime = $m1[1] + $m1[0];
echo $k;
$_SESSION['resendConfirmation']['function'] = 'resend';
$_SESSION['resendConfirmation']['id'] = '8';
print_r($_SESSION);
выходы:
Array ([resendConfirmation] => 8esend)
Почему строка заменяющие? Раньше у меня никогда не было этой проблемы.
То, что я хочу, это так:
Array([resendConfirmation] => Array(
[id] =>8
[function} => resend
)
)
Я никогда не имел это произойдет раньше, я совершенно запутался!
UPDATE В ответ на @DanRedux я изменился до двух несуществующих имен переменных взять реферирование из уравнения, все тот же результат ...
$_SESSION['resendConfirmation']['tweak'] = 'resend';
$_SESSION['resendConfirmation']['tweak2'] = '8';
Same результат :(
ли были найдены по всему сайту запрос о resendConfirmation
и ни один, но как только я изменить это имя массива, все это работало, сбитый с толку, но фиксировано ...
$_SESSION['reConfirm']['function'] = 'resend';
$_SESSION['reConfirm']['id'] = '8';
print_r($_SESSION);
Пожалуйста, исправьте первую строку своего кода, чтобы она была читаема. – Madbreaks
Первая строка на самом деле не нужна. Тем не менее, это действительно странный, но крутой вопрос .. '$ _SESSION ['resentConfirmation'] ['id']' как-то ссылается на первый индекс, поэтому первый символ меняется, поэтому почему ['id'] обратитесь к [0] .. Может быть, вы установите его по ссылке в какой-то момент? – DanRedux
Не злоупотребляйте использованием '@', он подавляет предупреждения, которые могут вас волнуют, и имеет довольно здоровенный хит производительности. Ни одна из функций вашего кода не должна плохо работать, если вы правильно проверите свои входы. Есть некоторые исключения, когда '@' полезен, но даже тогда это сомнительно. – Halcyon