我是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";
感谢您的帮助(对不起,如果这是超级基本的,我找不到任何解决这个的问题)!
答案 0 :(得分:27)
$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'];
答案 1 :(得分:0)
如果使用array function将已存在的数组放入新数组中,那么结果将是多维数组
$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;
}
另请参阅array function