За последние 24 часа нас посетили 20022 программиста и 1607 роботов. Сейчас ищет 1901 программист ...

Как в цикле подставить в элемент массива, другой массив?

Тема в разделе "Прочие вопросы по PHP", создана пользователем tabarigen, 20 май 2015.

  1. tabarigen

    tabarigen Новичок

    С нами с:
    18 мар 2015
    Сообщения:
    19
    Симпатии:
    0
    Код (Text):
    1. $ColorName = array('red'=>'#B12422','blue' => '#EFD334','green' => '#44944A');
    2. $result = $client->PoschitatDoxod($params)->return->strokaOtcheta;
    3.  
    4. foreach ($result as $key)
    5.     $json_data[] = array("column-1"=>"$key->doxod","color"=>$ColorName, "category"=>"$key->podrazdelenie");    
    6.   var_dump($json_data);
    Необходимо чтоб в "color"=>$ColorName присваивался не весь массив а элементы массива ColorName поочередно.
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    array_merge()
     
  3. tabarigen

    tabarigen Новичок

    С нами с:
    18 мар 2015
    Сообщения:
    19
    Симпатии:
    0
    это совсем из другой пьесы. Зачем мне объединение.

    Добавлено спустя 27 минут 13 секунд:
    Код (Text):
    1. function poluchitCvet() {
    2.   static $cveta = array('red' => '#B12422', 'blue' => '#EFD334', 'green' => '#44944A');
    3.   $tekuschiyCvet = current($cveta);
    4.   if (false === next($cveta)) {
    5.     reset($tekuschiyCvet);
    6.   }
    7.  
    8.   return $tekuschiyCvet;
    9. }

    "color"=>poluchitCvet()
    __________________________________
    решено
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    1) Вызвал 3 раза, получил ворнинг;
    2) В чем проблема была сделать так:

    Код (PHP):
    1. $ColorName = array('red'=>'#B12422','blue' => '#EFD334','green' => '#44944A');
    2.  
    3. $colorList = array(0=>'red',1=>'blue',2=>'green');
    4. $colorIterator = 0;
    5.  
    6. $result = $client->PoschitatDoxod($params)->return->strokaOtcheta;
    7.  
    8. foreach ($result as $key) {
    9.      $json_data[] = array("column-1"=>"$key->doxod","color"=>$ColorName[$colorList[$colorIterator]], "category"=>"$key->podrazdelenie");    
    10.      $colorIterator++;
    11.      if ($colorIterator == 3){
    12.           $colorIterator = 0;
    13.      } 
    14. }
    15.   var_dump($json_data); 
    А еще лучше ColorName соединить с colorList, чтобы индексироваться сразу через цифровой ключ, а не через строковый.