Php 碳:乌姆劳特创造了破碎的阵列
目前,我正在尝试使用以下帮助函数自动创建一个名为“所有月份”的数组:Php 碳:乌姆劳特创造了破碎的阵列,php,laravel,php-carbon,Php,Laravel,Php Carbon,目前,我正在尝试使用以下帮助函数自动创建一个名为“所有月份”的数组: if ( ! function_exists('getMonthsArray')) { function getMonthsArray() { $monthArray = array(); setlocale(LC_TIME, 'de_DE.utf8'); for ($m=1; $m<=12; $m++) { $dt = \Carbon\Car
if ( ! function_exists('getMonthsArray'))
{
function getMonthsArray()
{
$monthArray = array();
setlocale(LC_TIME, 'de_DE.utf8');
for ($m=1; $m<=12; $m++) {
$dt = \Carbon\Carbon::create(2016, $m, 1, 0, 0, 0)->formatLocalized('%B');
array_push($monthArray, $dt);
}
return $monthArray;
}
}
如您所见,值“März”(第三个键)旁边出现了一些东西。我只能想象umlaut“ä”有一些问题 您需要将其包装在utf8\U编码函数中,如下所示:
$dt = utf8_encode(\Carbon\Carbon::create(2016, $m, 1, 0, 0, 0)->formatLocalized('%B'));
文档中的注释有帮助吗?我相信这与多字节字符串有关,不应该成为问题。你正在运行什么版本的PHP?Kkinsey-No:(@catis 5.6。16@catis你的评论不是解决问题的方法,但它是正确的答案。如果你想创造一个答案,我会接受它。
$dt = utf8_encode(\Carbon\Carbon::create(2016, $m, 1, 0, 0, 0)->formatLocalized('%B'));