ФорумПрограммированиеPHP для идиотов → Как заполнить по столбцам двумерный массив n*m

Как заполнить по столбцам двумерный массив n*m

  • xDD

    Сообщения: 17 Репутация: N Группа: Кто попало

    Spritz 13 февраля 2011 г. 3:56

    Есть массив например 4*6. Как заполнить его по столбцам?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 февраля 2011 г. 4:09, спустя 13 минут 23 секунды

    $a = array();
    $k = 0;
    for ($j = 0; $j < 6; $j++) {
     for ($i = 0; $i < 4; $i++) {
       $a[$i][$j] = $k;
    $k++;
     }
    }
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 13 февраля 2011 г. 11:48, спустя 7 часов 38 минут 25 секунд

    Абырвалг, а если его надо наполнить гавном?)
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 февраля 2011 г. 11:52, спустя 4 минуты 21 секунду

    $a = array();
    $k = 0;
    for ($j = 0; $j < 6; $j++) {
    for ($i = 0; $i < 4; $i++) {
    $a[$i][$j] = $k;
    $k++;
    }
    }

    $a = array();
    $k = 0;
    for ($j = 0; $j < 6; $j++) {
    for ($i = 0; $i < 4; $i++) {
    $a[$i][$j] = Shit::generate();
    $k++;
    }
    }
    :D
    Сапожник без сапог
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 13 февраля 2011 г. 11:54, спустя 1 минуту 55 секунд

    :-D
    все умрут, а я изумруд
  • Frozzeg

    Сообщения: 5641 Репутация: N Группа: Джедаи

    Spritz 13 февраля 2011 г. 12:45, спустя 50 минут 49 секунд

    до коли гуманитарии будут лезть в программинг ?
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 13 февраля 2011 г. 13:01, спустя 16 минут 9 секунд

    до коли гуманитарии будут лезть в программинг ?

    Что такого в гуманитяриях, почему им не нужно лезть в программинг?
  • fgets

    Сообщения: 1099 Репутация: N Группа: Кто попало

    Spritz 13 февраля 2011 г. 15:54, спустя 2 часа 52 минуты 47 секунд

    $a = array();
    $k = 0;
    for ($j = 0; $j < 6; $j++) {
    for ($i = 0; $i < 4; $i++) {
    $a[$i][$j] = $k;
    $k++;
    }
    }


    for ($a = array(), $k = $j = 0; $j < 6; $j++) {
    for ($i = 0; $i < 4; $i++, $k++) {
    $a[$i][$j] = rand(1,99);
    }
    }
    Спустя 68 сек.
    for ($a = array(), $k = $j = 0; $j < 6; $j++): for ($i = 0; $i < 4; $i++, $k++) $a[$i][$j] = $k; endfor;
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 13 февраля 2011 г. 17:09, спустя 1 час 15 минут 25 секунд

    for ($a = array(), $k = $j = 0; $j < 6; $j++): for ($i = 0; $i < 4; $i++, $k++) $a[$i][$j] = $k; endfor;

    Что за …?

    Конкретно, в этом случае
    $a = array();
    $k = 0;
    for ($j = 0; $j < 6; $j++) {
      for ($i = 0; $i < 4; $i++) {
        $a[$i][$j] = $k;
        $k++;
      }
    }


    можно так:
    $array = array();
    $rowCount = 6;
    $colCount = 4;
    for ($row = 0; $i < $rowCount; $row++)
    {
       $array[$row] = range(0, $colCount - 1); // $array[] = range(0, $colCount - 1);
    }


    или так:

    $rowCount = 6;
    $colCount = 4;
    $arr = array_fill(0, $rowCount - 1, range(0, $colCount - 1));


    Но все это шабала, пока не видишь конкретную задачу.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!