【问题标题】:pushing elements in an existing array object in PHP在 PHP 中推送现有数组对象中的元素
【发布时间】:2020-05-25 01:48:47
【问题描述】:

我有一个查询结果的数据。我想插入一些它的数组变量。我有 ID,然后我尝试进行查询并将查询插入到变量中。

我的查询结果如下所示:

Array ( [0] => stdClass Object ( [id] => 27 [message] => {"msg_subject":"hello","msg_content":"world"} [date] => 2020-05-24 15:03:40 [parent_msg] => 0 ) ) 

现在我想在数组对象中插入一个数据,最终结果是这样的:

Array ( [0] => stdClass Object ( [id] => 27 [message] => {"msg_subject":"Hooy","msg_content":"Ok ra?"} [date] => 2020-05-24 15:03:40 [parent_msg] => 0 ) [read] => 0 ) 

这是我尝试过的:

foreach($query->result_array() as $row){                
     $this->db->select('mp.*');    
     $this->db->from('message_tbl mp');
     $this->db->join('message_tbl mc', 'mc.parent_msg = mp.id');                
     $this->db->where('mc.id',$row['msg_id']);
     $data = $this->db->get()->result();
        array_push($data,$row['read']);
    }
print_r($data);

然后当我打印我的数据时,输出如下:

Array ( [0] => stdClass Object ( [id] => 27 [message] => {"msg_subject":"Hooy","msg_content":"Ok ra?"} [date] => 2020-05-24 15:03:40 [parent_msg] => 0 ) [1] => 0 ) 

【问题讨论】:

    标签: php arrays object arrayobject


    【解决方案1】:

    您需要将$row['read'] 值添加到结果对象,然后将该对象推送到您的$data 数组。这样的事情应该可以工作:

    $data = array();
    foreach($query->result_array() as $row){                
         $this->db->select('mp.*');    
         $this->db->from('message_tbl mp');
         $this->db->join('message_tbl mc', 'mc.parent_msg = mp.id');                
         $this->db->where('mc.id',$row['msg_id']);
         $result = $this->db->get()->result()[0];
         $result->read = $row['read'];
         array_push($data, $result);
    }
    print_r($data);
    

    【讨论】:

    • 它给了我类似的东西:消息:array_push() 期望参数 1 是数组,给定 null
    • 附带说明一下,您也可以在原始查询中加入另一个联接以获得read 值,而不必为每个结果执行额外的查询。
    • @Jerry 这会使我的查询变得非常复杂,这就是我想用 PHP 处理它的原因
    • @JcJohn 您是否在开头添加了$data = array(); 语句?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多