如何将多维数组转换为内爆值的索引数组?
How to turn multidimensional array to indexed array of imploded value?
我正在使用 laravel 5。我从这个 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
]
]
每个日期的日、月、年来自table的不同列。
我想将这些日期组合在一起并显示在 table 中。例如:
的多维度数组:
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()
只会 return $date
数组的值。
我正在使用 laravel 5。我从这个 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
]
]
每个日期的日、月、年来自table的不同列。 我想将这些日期组合在一起并显示在 table 中。例如: 的多维度数组:
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()
只会 return $date
数组的值。