【问题标题】:"Push" Object to end of Associative Array in Loop在循环中将对象“推”到关联数组的末尾
【发布时间】:2013-09-06 06:05:40
【问题描述】:

我正在尝试将值推送到关联数组的末尾。数组的基本布局(里面有一个对象)是这样的:

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') 而不是 array('content below') 但这没有用。谁能帮我?看起来应该很简单。谢谢!

$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);
    }

}

【问题讨论】:

  • 你在哪里打印$alert_array

标签: php mysql arrays associative-array


【解决方案1】:

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

$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
                )
         )
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 2017-01-22
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 2023-03-07
    相关资源
    最近更新 更多