Задать вопрос

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

$ColorName = array('red'=>'#B12422','blue' => '#EFD334','green' => '#44944A');
$result = $client->PoschitatDoxod($params)->return->strokaOtcheta;

foreach ($result as $key) 
  	$json_data[] = array("column-1"=>"$key->doxod","color"=>$ColorName, "category"=>"$key->podrazdelenie");  	
	var_dump($json_data);


Необходимо чтоб в "color"=>$ColorName присваивался не весь массив а элементы массива ColorName поочередно.
  • Вопрос задан
  • 166 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
function poluchitCvet() {
  static $cveta = array('red' => '#B12422', 'blue' => '#EFD334', 'green' => '#44944A');
  $tekuschiyCvet = current($cveta);
  if (false === next($cveta)) {
    reset($tekuschiyCvet);
  }
 
  return $tekuschiyCvet;
}

echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
echo poluchitCvet();
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
He11ion
@He11ion
PHP-monkey
$colors = array_keys($ColorName);
$maxCount = count($ColorName) - 1;

// some code ... 
"color"=>$ColorName[$colors[(int)$key % $maxCount)]]
Ответ написан
65536
@65536
as $n => $key

$ColorName[$n]
Ответ написан
Комментировать
@tuxx
Можно сделать так
"color"=>each($ColorName)
а перед foreach сделал reset($colorName)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽