在 PHP 中推送现有数组对象中的元素
pushing elements in an existing array object in PHP
我有来自查询的数据。我想插入它的一些数组变量。我有 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 )
您需要将 $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);
我有来自查询的数据。我想插入它的一些数组变量。我有 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 )
您需要将 $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);