За последние 24 часа нас посетили 16786 программистов и 1648 роботов. Сейчас ищут 1267 программистов ...

Массив, где в качестве ключей названия стран, а в качестве

Тема в разделе "PHP для новичков", создана пользователем dupre, 26 янв 2016.

  1. dupre

    dupre Активный пользователь

    С нами с:
    26 янв 2016
    Сообщения:
    3
    Симпатии:
    0
    Обращение к опытным php программистам. Вывел в цикле значения массива:
    Код (PHP):
    1. $capitals = array(
    2.             'Россия' => array('Москва', 'Петербург', 'Липецк', 'Лабинск'), 
    3.             'Англия' => array('Лондон', 'Бирмингем', 'Ливерпуль', 'Лёниксберг'), 
    4.             'Испания' => array('Мадрид', 'Валенсия', 'Лос-Пальмос') 
    5.         );
    6.  
    7.  foreach($capitals as $country => $cities){
    8.         echo "<h2>$country</h2>";
    9.         
    10.         foreach($cities as $num => $name){
    11.             echo $name . '<br>';
    12.         }
    13.     }
    Это работает.

    Далее хотел сделать вывод городов в обратном порядке, но осилить получилось лишь в упрощённом варианте, в таком:
    Код (PHP):
    1. $reversal = array('Moscow', 'Paris', 'Rome', 'Madrid');
    2.     
    3.     for($a = count($reversal) - 1; $a >= 0; $a--){
    4.         echo $reversal[$a] . '<br>';
    5.     }
    Прошу вразумить и показать, как написать вывод городов(!) в обратном порядке для верхнего кода, оставив вывод имён стран как есть.
    Сам не справился, потому как опыта, пока, считай нет.

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Re: Массив, где в качестве ключей названия стран, а в качест

    array_reverse ?
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Re: Массив, где в качестве ключей названия стран, а в качест

    Сорри за оффтоп, но город "Львов" под ключом "Россия" - улыбнуло ))
     
  4. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Re: Массив, где в качестве ключей названия стран, а в качест

    Вангует.
     
  5. dupre

    dupre Активный пользователь

    С нами с:
    26 янв 2016
    Сообщения:
    3
    Симпатии:
    0
    Код (PHP):
    1. $capitals = array(
    2.             'Россия' => array('Москва', 'Петербург', 'Липецк', 'Лабинск'), 
    3.             'Англия' => array('Лондон', 'Бирмингем', 'Ливерпуль', 'Лёниксберг'), 
    4.              'Испания' => array('Мадрид', 'Валенсия', 'Лос-Пальмос'),
    5.              );
    6.         
    7.          foreach($capitals as $country => $cities){
    8.             echo "<h2>$country</h2>"; 
    9.  
    10.              for($a = count($cities) - 1; $a >=0; $a--){
    11.                 echo $cities[$a]. '<br>';
    12.             }
    13.           } 
    Вот так работает. Но хорош ли сам код? Или можно иначе и лаконичнее?

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Re: Массив, где в качестве ключей названия стран, а в качест

    Код, как код. Можно лаконичнее, подсказывали же, array_reverse. Но можно и так, почему бы нет.
     
  7. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Код (PHP):
    1.             for($a = count($cities) - 1; $a >=0; $a--){
    2.                 echo $cities[$a]. '<br>';
    3.             }
    4.             // или
    5.             foreach(array_reverse($cities) as $city){
    6.                 echo $city. '<br>';
    7.             }
    8.  
     
    dupre нравится это.