当从表单向第二页发送数据时,会话的值始终使用名称“Array”保留预期的数字。
数据应该显示在一个表中,但是在示例1,2,3,4中我得到了:数组,数组,数组。 (使用二维表)
下面的代码是否正确“调用”数组第二页上存储的值?
$test1 = $_SESSION["table"][0];
$test2 = $_SESSION["table"][1];
$test3 = $_SESSION["table"][2];
$test4 = $_SESSION["table"][3];
$test5 = $_SESSION["table"][4];
究竟是什么,我该如何解决这个问题? 是否需要进行某种覆盖?
最诚挚的问候。
答案 0 :(得分:7)
您不需要任何覆盖。该脚本正在打印“数组”而不是值,因为您试图在屏幕上打印整个数组,而不是数组中的值,例如:
$some_array = array('0','1','2','3');
echo $some_array; //this will print out "Array"
echo $some_array[0]; //this will print "0"
print_r($some_array); //this will list all values within the array. Try it out!
print_r()
对于生产代码没用,因为它很难看;但是,出于测试目的,它可以防止你将头发拉出嵌套数组。
通过索引访问数组中的元素非常好:$some_array[2]
如果你想在表中你可能会做这样的事情:
<table>
<tr>
for($i = 0 ; $i < count($some_array) ; $i++) {
echo '<td>'.$some_array[$i].'</td>';
}
</tr>
</table>
答案 1 :(得分:6)
如上所述,请尝试
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
这应该会显示会话数组中的内容。
答案 2 :(得分:0)
二维表只是一个数组数组。
因此,通过拉出$_SESSION["table"][0]
,您将拉出一个代表表格第一行的数组。
如果您想要该表中的特定值,则还需要传递第二个索引。即$_SESSION["table"][0][0]
或者你可能只是懒惰而且$table = $_SESSION["table"];
$table
会再次成为你的正常表格。
答案 3 :(得分:0)
一个很好的方式......
_User