Я объявил ассоциативный массив в 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. Ваш код будет выглядеть так:
$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);
Вы почти там, но ваши звонки ucfirst()
а также strtolower()
неправильный путь …
$town = strtolower($town);
$town = ucfirst($town);
Это преобразует все это в нижний регистр, а затем в верхний регистр первая буква.
Или немного сократить его
$town = ucfirst(strtolower($town));
Вы также должны изменить свой foreach()
чтобы позволить ему обновить город …
foreach($city as $name => &$town) {
Добавить &
чтобы позволить ему обновить город. Также переместите свой последний
print_r($city);
вне цикла.