php - Add new pair key => value into array from another array -
i have tried array_merge
, merge them based on similar keys, array_push
, various []
combinations can't figure 1 out. have 2 arrays, 1 looks like:
array ( [650] => array ( [kampan] => [zelvaul] => 650 [zelvaov] => [ocs] => [rezim] => ruční ) [651] => array ( [kampan] => 3003c_dsl_upsell_tv_su [zelvaul] => 651 [zelvaov] => [ocs] => 21 [rezim] => in ) [652] => array ( [kampan] => [zelvaul] => 652 [zelvaov] => [ocs] => 22 [rezim] => in )
and, want add 1 new key each of 650, 651, 652... sub-arrays (i call key 'barva'), , short set of values array (10 total) periodically loop in each sub-array under key, 1st , 11th value same, 2nd , 12th same , on, , under same key. like:
array ( [650] => array ( [kampan] => [zelvaul] => 650 [zelvaov] => [ocs] => [rezim] => ruční [barva] => 1 ) [651] => array ( [kampan] => 3003c_dsl_upsell_tv_su [zelvaul] => 651 [zelvaov] => [ocs] => 21 [rezim] => in [barva] => 2 ) [652] => array ( [kampan] => [zelvaul] => 652 [zelvaov] => [ocs] => 22 [rezim] => in [barva] => 3 ) ... [660] => array ( [kampan] => ... [zelvaul] => ... [zelvaov] => ... [ocs] => ... [rezim] => ... [barva] => 1 )
seriously, out of ideas... guys.
edit: array want add:
$camp_barvy = array( 'background-color:#ffffff;color:#111111;', 'background-color:#ffcc02;color:#111111;', 'background-color:#ff7700;color:#ffffff;', 'background-color:#ff2323;color:#ffffff;', 'background-color:#ff00aa;color:#ffffff;', 'background-color:#aa44ff;color:#ffffff;', 'background-color:#1188ff;color:#ffffff;', 'background-color:#11ddff;color:#111111;', 'background-color:#00dd77;color:#111111;', 'background-color:#119911;color:#ffffff;' );
i wanna large , extensive conditioned formatting , both javascript , php if statement make loading slow, figured make format part of array in values based on choose desired format. really, best choice :)
what want iterate on each value in "input" array , insert in new value taken "data" array (those 10 values mention). when data array exhausted, want loop start , continue inserting values in "input" array elements.
so want like:
foreach ($input &$row) { $row['brava'] = $next_item_from_data_array; }
which leaves problem of how iterate , loop on data array.
a convenient , modern way of doing using built-in spl iterators: arrayiterator
data array , infiniteiterator
around loop start automatically required. way don't have assume data array (such if numerically indexed or not).
for example:
$dataiterator = new infiniteiterator(new arrayiterator($data)); $dataiterator->rewind(); foreach ($input &$row) { $row['brava'] = $dataiterator->current(); $dataiterator->next(); } // after iterating reference (&$row) idea unset // reference don't reuse later on mistake -- although // not required , program work correctly without it. unset($row);
Comments
Post a Comment