我從資料庫中獲取值并以 json 格式回傳其陣列。這是我獲取值的代碼。第一個陣列作業正常。但是我需要在陣列中的每個索引之后添加靜態陣列。這是我的代碼
$value = $this->TestModel->get_user_details($userIds);
此函式以 json 格式回傳陣列,例如
[
{
"user_id": "1",
"name": "test 1",
},
{
"user_id": "2",
"name": "test 2",
},
{
"user_id": "3",
"name": "test 3",
},
]
現在我需要在每個陣列項的下面添加靜態 json 陣列。這是例如
$test1= array("student_list"=> array(array("stu_id"=>1, "name"=> "abc") , array("stu_id"=>2, "name"=> "xyz")),
"class"=> "12th",
"average_score"=>"5",
"results"=>array(array("result_date"=>"2012-12-13","city"=>"city 1"),array("result_date"=>"2015-10-13","city"=>"city 2")));
我已經用 array_push 和 array_merge 嘗試過它,但它在陣列的末尾添加了這個。
我需要這個回應
[
{
"user_id": "1",
"name": "test 1",
"student_list": [
{
"stu_id": 1,
"name": "abc",
},
{
"stu_id": 2,
"name": "xyz",
}
],
"class": "12th",
"average_score": "5",
"results": [
{
"result_date": "2012-12-13",
"city": "City 1",
},
{
"result_date": "2012-10-13",
"city": "City 2",
}
]
},
{
"user_id": "2",
"name": "test 2",
"student_list": [
{
"stu_id": 3,
"name": "asd",
},
{
"stu_id": 4,
"name": "ghj",
}
],
"class": "10th",
"average_score": "5",
"results": [
{
"result_date": "2011-12-13",
"city": "City 3",
},
{
"result_date": "2011-10-13",
"city": "City 4",
}
]
},
]
uj5u.com熱心網友回復:
如果要添加$test1到陣列的每個元素,則應合并每個元素,如下所示:
$value = $this->TestModel->get_user_details($userIds);
$test1 = array(
"student_list" => array(array("stu_id" => 1, "name" => "abc"), array("stu_id" => 2, "name" => "xyz")),
"class" => "12th",
"average_score" => "5",
"results" => array(array("result_date" => "2012-12-13", "city" => "city 1"), array("result_date" => "2015-10-13", "city" => "city 2"))
);
$decoded = json_decode($value, true);
for ($i = 0; $i < count($decoded); $i ) {
$decoded[$i] = array_merge($decoded[$i], $test1);
}
$value = json_encode($decoded);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/378628.html
