“将”对象推送到循环中的关联数组的末尾

时间:2013-09-06 06:05:40

标签: php mysql arrays associative-array

我正在尝试将值推送到关联数组的末尾。数组的基本布局(其中包含一个对象)如下所示:

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

我正在对MySQL数据库进行查询并比较一些数据,当有匹配时,我正在尝试将新匹配添加到数组的末尾($ alert_array)。基本上,我希望它看起来像这样:

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

等等......取决于有多少场比赛。我有以下代码(这是简化的,所以在代码的早期有一些声明,但我认为它可以从你在下面看到的内容中推断出来)。你会注意到,每次匹配时我都会echo 'test'完成“测试”。目前在代码中,有两个匹配('test'被回显两次)但是当我打印出来时,数组中只有一个对象。我的预感是数组运行,将第一个匹配添加到数组,然后在找到第二个匹配时覆盖数组。我试图在阵列的末尾'推'它。我尝试array_push($alert_array, '$alert', '$email')而不是数组('下面的内容'),但这不起作用。谁能帮我?看起来应该很简单。谢谢!

$alert_array = array();

while($row_state_match = mysqli_fetch_array($result_state_match)){
    $city = $row_state_match['city'];
    $email = $row_state_match['email'];

    if($city!="UNDEFINED" && $city==$alert_city){ 

            //TEST TO SEE HOW MANY MATCHES HAPPEN
            echo 'test'; 

            //PUSH ALERT TO ARRAY
            $alert_array[] = array("alert" => "
            <table class='alert' width='600'>
                    <tr width='100%'>
                            <td width='50%'>
                                    <table>
                                            <tr>
                                                    <td>
                                                            <h1>It worked</h1>
                                                    </td>
                                            </tr>
                                    </table>
                            </td>
                    </tr>
            </table>", "email" => $email);
    }

}

1 个答案:

答案 0 :(得分:2)

尝试像这样推动以获得所需的数组

$basearray=array ( '0' => array ( 'alert' => array ( 'email' => 'Test' ) ) );
$alertarray=array('alert'=>array('email'=>'Test2'));
array_push($basearray,$alertarray);
echo '<pre>';
print_r($basearray);

输出: -

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