Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多维关联数组(PHP)_Php_Arrays_Multidimensional Array - Fatal编程技术网

多维关联数组(PHP)

多维关联数组(PHP),php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我对PHP中的数组还不熟悉,我正试着总结如何创建多维关联数组。当我使用print\r时,我希望数组如下所示: Array ( [0] => Array ( [alert] => alert [email] => Test ) ) 相反,我得到的是: Array ( [0] => Array ( [alert] => Array ( [email] => Test ) ) ) 我使用的代码是: $alert_array = array(); $alert_

我对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";
感谢您的帮助(如果这是超级基本的,我很抱歉,我找不到任何问题,完全解决了这个问题)

在您的情况下,必须指定
,如下所示:

$alert_array[$key]["alert"] = "alert";
$alert_array[$key]["email"] = "Test";
你也必须有一个带计数器的循环

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

$alert_array = [];
$alert_array[] = ['alert' => 'alert', 'email' => 'Test'];

如果使用将现有数组放入新数组中,则结果将是多维数组

    $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;
}
在这种情况下,结果将是一维数组

    $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\u push
@elclanrs,我仍然不知道如何使用array\u push只推“email”值或“alert”值?哦,哇,太好了。比我想象的要简单得多,我没有意识到可以用这样一种基本的方式来完成(我想得太多了)。谢谢(顺便说一句,如果允许的话,我会在几分钟内接受你的回答)@MxmastaMills不客气,在这里问任何问题:)另一个简单的问题,我希望用这种方法将新对象“推”到数组中。我尝试使用array\u push($alert\u array,'alert'=>'alert','email'=>'Test');但这不起作用(我假设这是因为第二个逗号)。我基本上是在循环运行时尝试将对象添加到数组的末尾…@MxmastaMills如果一次推送多个元素(数组),则只能使用
array\u push
,否则
$array[]=$value
。如果你发布你的代码,我可能会帮助你更好。你可以在循环中使用“我的答案”而不会有任何问题。好吧,这是一段相当复杂的代码,所以我将把它放在一个简化版本中,并添加到上面(除非你更喜欢我将它作为一个新问题添加)。