Я отсортировал массив в порядке возрастания, В этом массиве есть некоторые значения, Некоторые значения повторяются, В этом случае я хочу добавить код цвета для одинаковых значений в массиве.
$level2 = array(
array ("marketMakerId" =>'CSTI', "bid" => 0.0006, "bidSize" => 4000000 ),
array ("marketMakerId" =>'GTSM', "bid" => 0.0006, "bidSize" => 650000 ),
array ("marketMakerId" =>'NITE', "bid" => 0.0005, "bidSize" => 10000 ),
array ("marketMakerId" =>'NITE', "bid" => 0.0005, "bidSize" => 10000 ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0001, "bidSize" => 10000 ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0002, "bidSize" => 20000 ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0003, "bidSize" => 20000 ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0004, "bidSize" => 40000 ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0078, "bidSize" => 40000 ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0074, "bidSize" => 40000 )
);
См. Выше значение "bid" массива 0,0006 дважды в списке, теперь я хочу добавить код цвета для каждой строки массива из массива кодов цвета, у меня есть другой массив Colorмассив кодов, если достигнут последний цвет "Оливковый", тот же цвет будет применен ко всем оставшимся значениям ставки
$color = array("red", "green", "Yellow",'brown','olive');
Теперь я хочу получить исключенный вывод, как показано ниже
$level2_output = array(
array ("marketMakerId" =>'CSTI', "bid" => 0.0006, "bidSize" => 4000000, 'color'=>'red' ),
array ("marketMakerId" =>'GTSM', "bid" => 0.0006, "bidSize" => 650000, 'color'=>'red' ),
array ("marketMakerId" =>'NITE', "bid" => 0.0005, "bidSize" => 10000 , 'color'=>'green'),
array ("marketMakerId" =>'NITE', "bid" => 0.0005, "bidSize" => 10000 , 'color'=>'green'),
array ("marketMakerId" =>'MAXM', "bid" => 0.0001, "bidSize" => 10000, 'color'=>'Yellow' ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0002, "bidSize" => 20000 , 'color'=>'brown'),
array ("marketMakerId" =>'MAXM', "bid" => 0.0003, "bidSize" => 20000 , 'color'=>'olive'),
array ("marketMakerId" =>'MAXM', "bid" => 0.0004, "bidSize" => 40000, 'color'=>'olive' ),
array ("marketMakerId" =>'MAXM', "bid" => 0.0078, "bidSize" => 40000 , 'color'=>'olive'),
array ("marketMakerId" =>'MAXM', "bid" => 0.0074, "bidSize" => 40000 , 'color'=>'olive')
);
Если применено одинаковое значение ставки того же цвета, Если применено другое значение ставки, чем другой цвет, см. Массив вывода, в котором вы можете это понять,
Пожалуйста, помогите нам
Я пробовал вот так, также эта часть - огромный код, я выкладываю только то, что я пробовал
array_multisort($value_bid, SORT_NUMERIC,SORT_DESC, $qty_bid,SORT_NUMERIC, SORT_DESC, $bid_level2);
// Obtain a Bid list of columns with sorting desc Ends
$colorMap[0] = 'red';
$colorMap[1] = 'green';
$colorMap[2] = 'Yellow';
$colorMap[3] = 'brown';
$keys = array_keys($count_bid);
rsort($keys);
//print_r($keys);
$array3_bid = array();
$j=0;
for($i=0;$i<count($keys);$i++)
{
if(!empty($colorMap[$j]))
{
$array3_bid[$keys[$i]] = $colorMap[$j];
$j++;
} else {
$j=0;
$array3_bid[$keys[$i]] = $colorMap[$j];
$j++;
}
}