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

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

$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 поочередно.
  • Вопрос задан
  • 165 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы