关联数组中的键值是首字母大写,其余字符串小写

Have key value in associative array be uppercase first letter and the rest of the string lowercase

我在 php 中声明了一个关联数组,并为其分配了大小写字母混合的键值。我需要数组中的键值首先是大写字母,然后将其余的字符串串起来,并且它需要在 foreach 循环中。编程新手,请多多关照。

$city=array('Peter'=>'LEEDS',
            'Kat'=>'bradford',
            'Laura'=>'wakeFIeld');
print_r($city);
echo '<br />';

foreach($city as $name => $town) {

   $town = ucfirst($town);
   $town = strtolower($town);
   print_r($city);      

}

你快到了,但是你对 ucfirst()strtolower() 的调用是错误的...

$town = strtolower($town);
$town = ucfirst($town);

这会将其全部转换为小写,然后将第一个字母转换为大写。

或者简写一点

$town = ucfirst(strtolower($town));

您还需要更改 foreach() 以允许它更新城镇...

foreach($city as $name => &$town) {

添加 & 以允许它更新城镇。也移动你的最后一个

print_r($city);

跳出循环。

您需要先将密钥小写,而不是使用 ucfirst。您的代码将是这样的:

$city = array ( "Peter" => "LEEDS", "Kat" => "bradford", "Laura" => "wakeFIeld");
print_r ( $city);
echo "<br />";

foreach ( $city as $key => $value)
{
  $city[$key] = ucfirst ( strtolower ( $value));
}
print_r ( $city);