Page

[php]$_SESSION元素下标不能为整型,元素内的数组则没有这个限制

749Anson17-06-26


也就是说,$_SESSION[1],$_SESSION[2],$_SESSION['1']这样赋值会报错:-Unknown- Skipping numeric key 1 in Unknown on line 0。 但是,如果是$_SESSION['cart'][1]这样则没问题,$_SESSION元素下标不能为整型,元素内的数组则没有这个限制

$_SESSION[1],$_SESSION[2],$_SESSION['1']这样赋值会报错:

Notice: Unknown: Skipping numeric key 1 in Unknown on line 0


blob.png


但是,如果是$_SESSION['cart'][1]这样则没问题,$_SESSION元素下标不能为整型,元素内的数组则没有这个限制



关于数组键,从http://php.net/manual/zh/language.types.array.php,“包含有效整数的字符串将被转换为整数类型”。

$_SESSION上的手册说“一个关联数组”。 所以一个关联阵列是从字面上看的? 如果关于访问和存储会话数据的一些重要信息仍然被埋在手动注释中,它没有任何好处。

具有单个数字的会话变量将不起作用,但是“1a”将会起作用,“a1”也可以是单个字母,例如“a”也将起作用。


Regarding array keys, from http://php.net/manual/zh/language.types.array.php "Strings containing valid integers will be cast to the integer type". 

The manual on $_SESSION says "An associative array". So an associative array is expected literally...? It does no one any good if this bit of important info about accessing and storing session data remains buried in manual comments.

Session variables with a single number will not work, however "1a" will work, as will "a1" and even a just single letter, for example "a" will also work.


<?php
session_start();
$_SESSION["1"] = "LOGGED";    //错误的

?>

2nd page
<?php
session_start();
echo $_SESSION["1"];           //错误的

?>
---------------------------------------------------------------
(Valid)
1st page
<?php
session_start();
$_SESSION["a"] = "LOGGED";      //正确的

?>

2nd page
<?php
session_start();
echo $_SESSION["a"];            //正确的

?>
---------------------------------------------------------------
(Valid)
1st page
<?php
session_start();
$_SESSION["a1"] = "LOGGED";      //正确的

?>

2nd page
<?php
session_start();
echo $_SESSION["a1"];            //正确的

?>

---------------------------------------------------------------
Example from PHP.net manual on Session variables

<?php

$_SESSION[1][1] = 'cake';         //错误的
// fails

$_SESSION['v1'][2] = 'cake';      //正确的
// works

?>




转自:

http://php.net/manual/zh/reserved.variables.session.php



来自ansion博客

www.tp0.top

2017-6-26