首页 > 解决方案 > 如何创建多维数组?

问题描述

我正在观看一个具有这种代码和平的教程视频:

  if ( isset($_POST['message']) ) {
    if ( !isset ($_SESSION['chats']) ) $_SESSION['chats'] = Array();
    $_SESSION['chats'] [] = array($_POST['message'], date(DATE_RFC2822));
    header("Location: index.php");
    return;
  }

但我对这条线感到困惑:

$_SESSION['chats'] [] = array($_POST['message'], date(DATE_RFC2822));

那我不知道是什么意思= array($_POST['message'], date(DATE_RFC2822));?是$_SESSION二维数组吗?或者它只是一个有 2 个元素的一维数组?如果它是一维数组,我该如何写一个二维数组?

标签: phparrays

解决方案


如果您想知道代码的每个执行步骤会发生什么,最好为此使用调试器,例如 XDebug。您可以在代码中设置断点并逐行查看变量的状态。
在此处输入图像描述

另一种方法是在该行之后放置一个var_export($_SESSION);并检查输出:

$_SESSION = array(
    'chats' => array(
        0 => array(
            0 => 'gdf',
            1 => 'Sat, 20 Apr 2019 21:08:26 +0100',
        )
    )
)

在您的情况下,超全局数组$_SESSION包含一个插入键“聊天”的数组,该键包含另一个项目数组,即array($_POST['message'], date(DATE_RFC2822)).

是的,$_SESSION在您的示例中将是一个多维数组(3-D)。要在 PHP 中创建多维数组,需要输入另一个数组作为外部数组的元素。就像您在示例中所做的那样。


推荐阅读