我正在使用laravel5。我从此sql语句中查询了日期列表:
//query tarikh tamat kursus
$datatarikhTamat = DB::table('itemregistrationdetail')
->select('itemregistrationdetail.daytamat_kursus', 'itemregistrationdetail.monthtamat_kursus', 'itemregistrationdetail.yeartamat_kursus')
->where('itemregistrationdetail.itemregistrationid', $id)
->get();
$data = json_decode($datatarikhTamat, true);
解码后的查询将显示以下输出:
array:4 [▼
0 => array:3 [▼
"daytamat_kursus" => 28
"monthtamat_kursus" => "July"
"yeartamat_kursus" => 2011
]
1 => array:3 [▼
"daytamat_kursus" => 27
"monthtamat_kursus" => "0"
"yeartamat_kursus" => 2013
]
2 => array:3 [▼
"daytamat_kursus" => 14
"monthtamat_kursus" => "0"
"yeartamat_kursus" => 2013
]
3 => array:3 [▼
"daytamat_kursus" => 11
"monthtamat_kursus" => "April"
"yeartamat_kursus" => 2014
]
]
每个日期的日,月和年来自表的不同列。 我想将这些日期分组在一起并显示在表格中。例如: 的muldtidimensiarray:
array:12 [▼
0 => "28 July 1022"
1 => "27 0 2013"
2 => "14 0 2013"
3 => "11 April 2014"
]
可以使用implode分组为字符串“ 2014年4月11日”。
我曾经使用此代码内插到数组,但是结果却不同。
//tarikh tamat kursus
//**************** format the value of the date************************
$data = json_decode($datatarikhTamat, true);
$val_arr = array();
foreach($data as $val)
{
foreach($val as $key => $value)
{
$val_arr[] = $value;
}
}
$dataTarikhTamat = implode("-", $val_arr);
dd($val_arr);
这将产生以下输出:
array:12 [▼
0 => 28
1 => "July"
2 => 2011
3 => 27
4 => "0"
5 => 2013
6 => 14
7 => "0"
8 => 2013
9 => 11
10 => "April"
11 => 2014
]
如何修改代码以获取日期的索引数组?
答案 0 :(得分:1)
我相信您在foreach()
循环中走得很远。您可以implode()
在数组第一级上的数据:
$dates = json_decode($datatarikhTamat, true);
$date_arr = array();
foreach($dates as $date)
{
$date_arr[] = implode(' ', array_values($date));
}
这应该导致预期的格式。使用array_values()
将仅返回$date
数组的值。