12

我是 PHP 数组的新手,我正在努力思考如何制作多维关联数组。当我使用 print_r 时,我希望数组看起来像这样:

Array ( [0] => Array ( [alert] => alert [email] => Test ) )

相反,我得到了这个:

Array ( [0] => Array ( [alert] => Array ( [email] => Test ) ) )

我正在使用的代码是这样的:

$alert_array = array();

$alert_array[]["alert"]["email"] = "Test";

我认为尝试这样的事情会奏效,但显然我的语法有点不对劲。我想我在某种程度上是在正确的轨道上吗?:

$alert_array[][["alert"]["email"]] = "Test";

感谢您的帮助(对不起,如果这是超级基本的,我找不到任何可以准确解决这个问题的问题)!

4

2 回答 2

31
$alert_array = array();
$alert_array[] = array('alert' => 'alert', 'email' => 'Test');
...
var_dump($alert_array);

在您的情况下,您必须key像这样指定:

$alert_array[$key]["alert"] = "alert";
$alert_array[$key]["email"] = "Test";

你也必须有一个带计数器的循环。

如果您使用的是 PHP 5.4+,则可以使用短数组语法:

$alert_array = [];
$alert_array[] = ['alert' => 'alert', 'email' => 'Test'];
于 2013-09-06T01:28:00.863 回答
1

如果您使用数组函数将一个已经存在的数组放入一个新数组中,那么您的结果将是多维数组

    $alert_array = array();
    $alert_array[] = array('alert' => 'alert', 'email' => 'Test');
    print_r($alert_array);

    /* result will be
    Array ( [0] => Array ( [alert] => alert [email] => Test ) )
    */

在这种情况下,结果将是一维数组

$alert_array = array();
while($variable = mysqli_fetch_assoc($something)) {
$alert_array[] = $variable;
}

另请参考数组函数

于 2017-10-24T13:53:50.743 回答