为什么PHP不允许在$\u会话中使用十进制值作为根键?
为什么PHP不允许在$\u会话中使用十进制值作为根键 例如为什么PHP不允许在$\u会话中使用十进制值作为根键?,php,superglobals,Php,Superglobals,为什么PHP不允许在$\u会话中使用十进制值作为根键 例如 $paper_num = '159339'; $mark = 'A'; $_SESSION[$paper_num][$mark]; 。。。无法工作。您能否在会话中将其保存为数组,例如 <?php session_start(); $paper_num = '159339'; $mark = 'A'; $paper_detail = array( 'paper_number'=> $paper_num, 'paper_m
$paper_num = '159339';
$mark = 'A';
$_SESSION[$paper_num][$mark];
。。。无法工作。您能否在会话中将其保存为数组,例如
<?php
session_start();
$paper_num = '159339';
$mark = 'A';
$paper_detail = array(
'paper_number'=> $paper_num,
'paper_mark'=> $mark);
$_SESSION['paper_details'] = $paper_detail;
print_r($_SESSION['paper_details']);
?>
最好试着看看结果。它不适用于'159339',但如果我用'A'替换根键,它确实有效。我希望能对这背后的逻辑有一个很好的解释。。。看起来很奇怪,但我相信有一个很好的理由。我更新了这个问题,试图得到更深入的答案。我认为php会将'159339'
转换为159339
(int)没问题,然后你可以访问每个变量,比如$\u会话['paper\u details']['paper\u number']
或$\u会话['paper\u details'['paper\u mark']