Масив не работает полноценно

Тема в разделе "PHP", создана пользователем barabula, 24 июн 2011.

Модераторы: latteo
  1. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Кто поможет, вот решил пхп попрактиковать, но появилась пробелма с масивом.
    Вот что я накодил:
    PHP:
    $towns = array( 
    "Russia" => array ("Moskov""Sanct-Peterburg"" Perm"),
    "Ukraine" => array("Kyiv""Lviv""Odessa"),
    "USA" => array ("Washington","Los-Angeles","New-York")
    );
    foreach(
    $towns as $key => $val)
    {
    echo 
    "<br><h1>".$key."</h1>";    
    }
    foreach (
    $val as $city)
    {
    echo 
    "<br>$city";    
    }
    Вот что выводит в браузере:
    Russia
    Ukraine
    USA
    Washington
    Los-Angeles
    New-York
    Вопрос: Почему выводятся толкьо города USA а не все города? и как это исправить на правильный код? буду весьма благодарен.
     
  2. Monterpan

    Monterpan Постоялец

    Регистр.:
    3 мар 2008
    Сообщения:
    150
    Симпатии:
    27
    нужно так
    PHP:
    $towns = array( 
    "Russia" => array ("Moskov""Sanct-Peterburg"" Perm"),
    "Ukraine" => array("Kyiv""Lviv""Odessa"),
    "USA" => array ("Washington","Los-Angeles","New-York")
    );
    foreach(
    $towns as $key => $val)
    {
    echo 
    "<br><h1>".$key."</h1>";    
     foreach (
    $val as $city)
     {
     echo 
    "<br>$city";    
     }
    }
     
    barabula нравится это.
  3. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Спасибо большое, теперь буду знать)))
    Может сможете подсказать ещё в паре моментов если не затруднит ?

    При помощи Цыкла while нужно вывести все числа в промежутке от 0 до 10, которые делятся на 3 без остатка.


    И ещё не могу понять как можно с помощью цыкла for вывести числа от 0 до 10 НЕ используя тела цыкла?
     
  4. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    в школах начали учить php вместо русского языка? :D
    1: числа от 0 до 10 которые делятся на 3 без остатка
    PHP:
    <?php
    $i 
    0;
    while(
    $i<=10)
    {
        if(
    $i%3==&& $i!=0)
            echo 
    $i."\r\n";
        
    $i++;
    }
    2: вывод чисел от 0 до 10 без использования условия в теле цикла
    PHP:
    <?php
    for($i=0;$i<=10;$i++)
    {
        echo 
    $i."\r\n";
    }
    и насчет названия темы - массив не может работать, это набор данных.
     
  5. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    PHP:
    $i=0;
    while(
    $i<10){
     if((
    $i%3)==0){
       
    чего-то там выводим
     
    }
    $i++;
    }
    Операция % - остаток от деления в помощь
     
  6. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    НЕ используя тело цикла?
    Тоесть должно быть вот так:
    for(........)
    {
    тут пусто
    }
     
  7. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    научись читать документацию:
    PHP:
    for ($i=0$i<=10; print "$i"$i++)
    {
    }
     
  8. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Касательно не правильно названой темы, это тоже простительно т.к. я новичок и ещё не всё понимаю, но тем не менее эта ветка называется PHP для начинающих, а по сему тут будут не совсем грамотные ворпосы, и если у тебя не хватает терпения и силы воли быть снесходительным к таким людям, то лучше вообще не посещай данную ветку.
     
  9. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
  10. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Зачем делать полный перебор, если нужны только числа, кратные 3-м? Почему бы не сделать так:
    PHP:
    for($i 0$i 10$i += 3)
    {
       
    чего-то там выводим
    }