[英]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.