[英]How To append Element In Array
我在php中有一种执行存储过程的方法,如下所示:
Function GetInTransitAndDelivery($Parameter)
{
$this->load->database();
$query = $this->db->query( " EXEC StoredProcedureName $Parameter");
if (count($query->num_rows()) > 0)
{
$result = array();
foreach ($query->result() as $row)
{
$result[] = array("EffectiveStatusId"=>$row->EffectiveStatusId,
"EffectiveStatus"=>$row->EffectiveStatus,
"RecordCount"=>$row->RecordCount);
}
}
return $result;
}
给我这样的结果:
{
"GetInTransitAndDeliveryResponse":[
{
"EffectiveStatusId":1,
"EffectiveStatus":"abc",
"RecordCount":7
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"efg",
"RecordCount":91
}
]
但我想得出这样的结果:
{
"GetInTransitAndDeliveryResponse":[
{
"EffectiveStatusId":1,
"EffectiveStatus":"abc",
"RecordCount":7
},
{
"EffectiveStatusId":1,
"EffectiveStatus":"efg",
"RecordCount":7
},
{
"EffectiveStatusId":1,
"EffectiveStatus":"hij",
"RecordCount":0
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"klm",
"RecordCount":0
}
]
那么如何在结果数组中追加元素
提前致谢
尝试array_push()函数
根据您的评论修改答案
<?php
//1 - I think your array element is as json string
$str = '{
"GetInTransitAndDeliveryResponse":[
{
"EffectiveStatusId":1,
"EffectiveStatus":"abc",
"RecordCount":7
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"efg",
"RecordCount":91
}
]
}';
//2 - So make it first as associative array
$array = json_decode($str,true);
//3 - Then push array item
array_push($array["GetInTransitAndDeliveryResponse"],
array(
"EffectiveStatusId"=>1,
"EffectiveStatus"=>"hij",
"RecordCount"=>0
),
array(
"EffectiveStatusId"=>6,
"EffectiveStatus"=>"klm",
"RecordCount"=>0
)
);
//4 - encode it as json string
$str = json_encode($json);
//5 - print it
echo $str;
输出:
{
"GetInTransitAndDeliveryResponse":[
{
"EffectiveStatusId":1,
"EffectiveStatus":"abc",
"RecordCount":7
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"efg",
"RecordCount":91
},
{
"EffectiveStatusId":1,
"EffectiveStatus":"hij",
"RecordCount":0
},
{
"EffectiveStatusId":6,
"EffectiveStatus":"klm",
"RecordCount":0
}
]
}
使用array_push();
我的工作示例如下
<?php
$array = array("1", "2");
array_push($array, "3", "4");
print_r($array);
?>
// output will be
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
在将数组转换为json之前,请添加以下元素:
$result[] = array(
"EffectiveStatusId"=>1,
"EffectiveStatus"=>"hij",
"RecordCount"=>0
);
$result[] = array(
"EffectiveStatusId"=>6s,
"EffectiveStatus"=>"klm",
"RecordCount"=>0
);
您可以添加所需的所有元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.