私は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
]
コードを変更して、日付のインデックス付き配列を取得するにはどうすればよいですか?
私はあなたがあなたのforeach()
ループのはるか下に行ったと信じています。implode()
配列の最初のレベルでデータを取得できます。
$dates = json_decode($datatarikhTamat, true);
$date_arr = array();
foreach($dates as $date)
{
$date_arr[] = implode(' ', array_values($date));
}
これにより、期待される形式になります。を使用array_values()
すると、$date
配列の値のみが返されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加