За последние 24 часа нас посетили 60825 программистов и 1774 робота. Сейчас ищут 1789 программистов ...

Толкование смысла вывода $mas[$i][$j]

Тема в разделе "PHP для новичков", создана пользователем Golovastik, 3 дек 2010.

  1. Golovastik

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

    С нами с:
    14 июл 2010
    Сообщения:
    193
    Симпатии:
    0
    При выводе этого двумерного массива.
    PHP:
    1.  
    2. $mas[$i][$j]
    3.  
    из этого кода:
    PHP:
    1.  
    2. <h1>
    3. <pre>
    4. <?php
    5.  
    6. $mas = array(
    7. array ('privet','poka','proschay'),
    8. array('fakel','antonio','dar')
    9. );
    10.  
    11. for($i=0; $i<count($mas); $i++){
    12. echo $i.' ';
    13. for($j=0; $j<count($mas[$i]); $j++){
    14. echo $mas[$i][$j].' ';
    15. }
    16. echo "\n";
    17. }
    18.  
    19.  
    20. ?>
    21.  
    Вот это означает $mas[$i][$j].' ';
    вывести значение индекса за первой итерацией, второй и третей или это означает вывести одновременно индекс и значение?

    Ещё момент, вот это:
    PHP:
    1.  
    2. for($j=0; $j<count($mas[$i]); $j++){
    3.  
    Это означает с нуля по количество элементов первого индекса массива,
    с нуля по количество элементов 2 индекса массива и т.д,
    так имеется ввиду?
     
  2. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    как вариант можно запустить код и посмотреть, что он выведет. один вопрос точно отпадет.
     
  3. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    1) echo $mas[$i][$j].' '; - означает вывести значение элемента с пробелом. Точка "." означает конкатенацию строк
    2) for($j=0; $j<count($mas[$i]); $j++){ -
    Это означает с нуля по количество элементов i-го элемента массива,
     
  4. Golovastik

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

    С нами с:
    14 июл 2010
    Сообщения:
    193
    Симпатии:
    0
    Вот это $i<count($mas); означает пройтись с нуля по количество элементов в массиве с нуля до 1, 2 раза, так как элементов в массиве 2. А это $j<count($mas[$i]); это означает пройтись с нуля по количество элементов каждого первого индекса массива под названием $mas?
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    что ты хочешь? =) попробуй!
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    перепишу-ка я все это дело на форыч. может вопросы отпадут

    PHP:
    1. <h1>
    2.  <pre>
    3.  <?php
    4.  
    5.  $mas = array(
    6.  array ('privet','poka','proschay'),
    7.  array('fakel','antonio','dar')
    8.  );
    9.  
    10. echo "Есть один большой массив!<br>Неебически красив.<br>\n";
    11. foreach $mas as $mas_entry {
    12.   echo "Строки в нем есть небольшие.<br>\nА в строках слова такие:<br>\n";
    13.   foreach $mas_entry as $entry_of_mas_entry  {
    14.     echo $entry_of_mas_entry,', ';
    15.   }
    16.   echo "<br>\n";
    17. }
    18. echo 'Тут закончен наш рассказ -<br> .....(сами знаете что тут)....з! :D';
    19.  
    20.  ?>
     
  7. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    Наверно правильно.


    Только я бы выразился иначе
    Поскольку $mas двумерный массив, то

    1)$i<count($mas); -проход по первому индексу
    2)$j<count($mas[$i]);-проход по второму индексу
     
  8. runner

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

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    а еще лучше сказать так

    1)$i<count($mas); -проход по строкам
    2)$j<count($mas[$i]);-проход по столбцам