将数组中的月份名称大写

Capitalise month names in an array

如何获取数组中每个月的首字符大写或任何其他简短方法来实现此目的?

$heading = array("apr","may","jun","jul","aug","sep","oct","nov","dec","jan","feb","mar");
foreach($heading as $key=> $month)
{
  echo  $heading[$key] = ucfirst($month);  //Apr, May,Jun It's ok
}
print_r($heading);

当前输出

Array
(
    [0] => apr
    [1] => may
    [2] => jun
    [3] => jul
    [4] => aug
    [5] => sep
    [6] => oct
    [7] => nov
    [8] => dec
    [9] => jan
    [10] => feb
    [11] => mar
)

预期输出

Array
(
    [0] => Apr
    [1] => May
    [2] => Jun
    [3] => Jul
    [4] => Aug
    [5] => Sep
    [6] => Oct
    [7] => Nov
    [8] => Dec
    [9] => Jan
    [10] => Feb
    [11] => Mar
)

如果我打印 echo $heading[$key] = ucfirst($month); 它显示 OK 但还有其他快捷方式吗?

更新原始数组,而不是输出值。

$heading = array("apr","may","jun","jul","aug","sep","oct","nov","dec","jan","feb","mar");
foreach($heading as $key=> $month)
{
  $heading[$key] = ucfirst($month);  //Apr, May,Jun It's ok
}
print_r($heading);

另外,您的变量名有错别字,可能会给您带来麻烦。 (确保激活所有形式的错误报告,这样你就能捕捉到这些东西)

这应该适合你:

<?php

    $heading = array("apr","may","jun","jul","aug","sep","oct","nov","dec","jan","feb","mar");
    array_walk(
        $heading, 
        function(&$a) {
            $a = ucfirst($a);
        }
    );
    print_r($heading);

?>

一行即可完成:

$heading = array_map('ucfirst', $heading);