Значение ключа в ассоциативном массиве должно состоять из заглавной первой буквы, а остальная часть строчной - PullRequest
0 голосов
/ 20 октября 2018

Я объявил ассоциативный массив в 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);      

}

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Вам нужно сначала прописать ключ, чем использовать 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);
0 голосов
/ 20 октября 2018

Вы почти на месте, но ваши звонки на ucfirst() и strtolower() неверны ...

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

Это преобразует все в нижний регистр, а затем в верхний регистр первую букву,

Или немного сократить его

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

Вам также нужно изменить foreach(), чтобы он мог обновлять город ...

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

Добавить&, чтобы позволить ему обновить город.Также переместите свой последний

print_r($city);

из цикла.

...