Как получить массив из цикла?

Тема в разделе "PHP", создана пользователем Solomon Kane, 7 сен 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Solomon Kane

    Solomon Kane Постоялец

    Регистр.:
    26 авг 2009
    Сообщения:
    144
    Симпатии:
    9
    Допустим, есть такой цикл

    foreach ($data as $value) {

    // тут формируется какой-то массив

    }

    // новый массив

    $ data ('value'=> // сюда надо загнать массив, который сделан в цикле).

    Как это сделать?
     
  2. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    Честно говоря ничего не понял из столь сумбурного вопроса, но все же, а что мешает просто взять и присвоить?
    И лучше будет что бы вы рассказали понятно для всех что вы хотите, что бы можно было помочь
     
  3. Solomon Kane

    Solomon Kane Постоялец

    Регистр.:
    26 авг 2009
    Сообщения:
    144
    Симпатии:
    9
    Да вроде всё понятно написал:). Вот, что именно надо:

    1) есть какой-то цикл, в результате его работы выводится какая-то информация;

    2) эту информацию надо загнать в массив;

    3) полученный с помощью цикла массив передать, как значение в новый массив;

    Вот, к примеру, в результате работы цикла из БД достали три цвета - зелёный, синий, красный.

    Эти три цвета надо загнать в массив типа

    array (1 => зелёный, 2 => синий, 3 => красный). Данный массив можно присвоить и переменной для удобства. $color, например.

    Потом передать получившийся массив в новый массив

    array ('value' => $color).

    Вот что-то типа этого надо.

    Основная трудность в том, что не могу понять, как результат работы цикла сделать новым массивом.
     
  4. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
    Если я правильно понял
    PHP:
    <?php
    $orig_array 
    = array ('1' => 'зелёный','2'=>'синий','3' =>'красный');

    $new_array = array();

    foreach (
    $orig_array as $value) {
        
    $new_array[] = $value;    
    }

    $data['colors'] = $new_array;
    ?>
     
    Solomon Kane нравится это.
  5. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    558
    Встроенные операторы ещё никто не отменял
    PHP:
    $orig_array = array ('1' => 'зелёный','2'=>'синий','3' =>'красный'); 
    $data = array(
        
    'colors'=>array_values($orig_array)
    ); 
     
  6. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Ну и извращение.
    PHP:
    $data['colors']=$data;
    Нафига циклы и переменные плодить?
     
  7. nikservik

    nikservik Писатель

    Регистр.:
    13 авг 2009
    Сообщения:
    4
    Симпатии:
    2
    Однозначно!!
    Я бы уточнил, чтобы понятнее было, что куда.
    PHP:
    foreach ($color as $key=>$value) {
      
    $color[$key] = ...; // формируется массив
    }
    $data['colors'] = $color;
     
  8. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    можно сразу присваивать во время цикла в массив
    PHP:
    $array = array();
    foreach(array(
    "зелёный","синий","красный") as $color){
        
    $array['value'][] = $color;
    }
    print_r($array);
    пустые квадратные скобки для массива значит добавить новый элемент в конец массива, аналог функции array_push()
     
Статус темы:
Закрыта.