将数组值的第一个字母改为大写


$arr = array ('name'=>'bunt','game'=>'battlefield','fame'=>'hero');
foreach ($arr as $key=>$val){
  $val = ucfirst($val);
}
var_dump($arr);
// result would be
// 'name' => 'Bunt', 'game' => 'Battlefield', 'fame' => 'Hero'

我在这里错过了一些东西....如何实现呢?

使用array_map()

$new_array = array_map('ucfirst', $arr);

实际操作

$val只是每次迭代中的临时变量。要更新每个键的值,需要将其作为引用传递。这样做。

foreach ($arr as $key => &$val) {
    $val = ucfirst($val);
}

注意&$val后面。

foreach (arr关键=>美元和美元val) {$val = ucfirst($val);}

加&在$val前签名。这将使它引用变量而不是赋值。

为什么不直接使用键来访问数组呢?

<?php
$arr = array('name' => 'bunt', 'game' => 'battlefield');
foreach ($arr as $key => $val) {
    $arr[$key] = ucfirst($val);
}
var_dump($arr);

相关内容

  • 没有找到相关文章

最新更新