PHP会话数组值一直显示为“数组”

时间:2010-05-18 17:50:21

标签: php

当从表单向第二页发送数据时,会话的值始终使用名称“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];

究竟是什么,我该如何解决这个问题? 是否需要进行某种覆盖?

最诚挚的问候。

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