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非常简单,数组中的每个元素都有一个回调函数!(参见手册:)