Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组中的月份名称大写_Php - Fatal编程技术网

Php 将数组中的月份名称大写

Php 将数组中的月份名称大写,php,Php,如何获得数组中每个月的第一个字符资本或任何其他短方法来实现这一点 $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);

如何获得数组中每个月的第一个字符资本或任何其他短方法来实现这一点

$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
)
预期产出

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)显示正常,但是否有其他快捷方法?

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

$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);

array_walk($heading'ucfirst')您定义的
打印($heading)array_walk($heading,'ucfirst')
是一个打字错误吗?如果不是,则应为
$heading
。编辑:原来如此。@Sadikhasan是的,我看到了你的编辑,在看到它之后,我又修改了上面的评论;-)@Sadikhasan非常简单,数组中的每个元素都有一个回调函数!(参见手册:)