php在循环内推入数组

时间:2013-10-10 11:08:31

标签: php arrays loops merge

我在循环中生成一个结果数组,我想在循环中添加到数组中。显然,数组推送不起作用,因为它们是关键的值对。

foreach($res as $ap){
    $this->db->where('event_time >', $ev_time);
    $this->db->where('event_ID', $ap['event_id']);
    $query = $this->db->get('events');
    if($query->num_rows() > 0){
        $result = $query->result_array();
        $linked[] = $result[0]; // <-- want to add key, value pair within this
        $linked['new_key'] = $new_value; // <-- did not work :(
    }
}

我该怎么做?

此后,此数组也会与另一个数组合并。如果我添加一个额外的键,对不在另一个数组中的值对,会破坏合并吗?

3 个答案:

答案 0 :(得分:0)

foreach($res as $ap){
    $this->db->where('event_time >', $ev_time);
    $this->db->where('event_ID', $ap['event_id']);
    $query = $this->db->get('events');
    if($query->num_rows() > 0){
        $result = $query->result_array();
        $linked[] = $result[0]; // <-- want to add key, value pair within this

        $linked['new_key'][] = $new_value;
    }
}

答案 1 :(得分:0)

试试这个

$i = 0;
foreach($res as $ap){
    $this->db->where('event_time >', $ev_time);
    $this->db->where('event_ID', $ap['event_id']);
    $query = $this->db->get('events');
    if($query->num_rows() > 0){
        $result = $query->result_array();
        $linked[$i] = $result[0]; // <-- want to add key, value pair within this
        $linked[$i]['new_key'] = $new_value;
        $i++;
    }
}

$i将允许您将新值添加到写入$result[0]的同一元素中。

答案 2 :(得分:0)

也许尝试类似的事情:

$myarray[] = array($key, $value);