2015-08-27 2 views
-1

пользователя массивуPHP - Карта двух массивов на основе ключа

print_R($user_array); 
Array 
(
    [0] => Array 
     (
      [SKILL_NAME] => Application Software 
      [EXPERIENCE_BAND] => 15+ 
      [SITE_STATUS] => Onsite 
      [NO_OF_RESOURCE] => 1 
      [ACTUAL_HOURS] => 16 
     ) 

    [1] => Array 
     (
      [SKILL_NAME] => Application Software 
      [EXPERIENCE_BAND] => 2-4 
      [SITE_STATUS] => Onsite 
      [NO_OF_RESOURCE] => 1 
      [ACTUAL_HOURS] => 96 
     ) 

) 

Значение Массив

print_R($value_array); 
Array 
(
    [RATE_PER_HOUR] => 80,50 
    [MARKUP_PERCENT] => 5,10 
    [TOTAL_COST] => 8064.00,880.00 
) 

Exploding массива Значение RATE_PER_HOUR

$rate_per_hour = explode(',', $array_data['RATE_PER_HOUR']);

выходы внизу. То же самое касается и MARKUP_PERCENTTOTAL_COST

Array 
(
    [0] => 80 
    [1] => 50 
) 

Как я мог карте выше двух массивов, так что выход, как показано ниже. Отображение массива выполняется на основе ключа для поддержания правильных данных.

Array 
(
    [0] => Array 
     (
      [SKILL_NAME] => Application Software 
      [EXPERIENCE_BAND] => 15+ 
      [SITE_STATUS] => Onsite 
      [NO_OF_RESOURCE] => 1 
      [ACTUAL_HOURS] => 16 
      [RATE_PER_HOUR] => 80 
      [MARKUP_PERCENT] => 5 
      [TOTAL_COST] => 8064.00 
     ) 

    [1] => Array 
     (
      [SKILL_NAME] => Application Software 
      [EXPERIENCE_BAND] => 2-4 
      [SITE_STATUS] => Onsite 
      [NO_OF_RESOURCE] => 1 
      [ACTUAL_HOURS] => 96 
      [RATE_PER_HOUR] => 50 
      [MARKUP_PERCENT] => 10 
      [TOTAL_COST] => 880.00 
     ) 

) 
+1

Вы пробовали что-нибудь? –

+0

Пробовал использовать array_merge, но не уверен, как это сделать на основе ключа. – Slimshadddyyy

+1

Можете ли вы показать нам свой контекст кода? Как ' ' –

ответ

0

Разбить каждое значение в массиве значений. Пропустите это и добавьте их в соответствующий элемент массива User.

foreach ($value_array as $key => $data) { 
    $data_array = explode(',', $data); 
    foreach ($data_array as $index => $val) { 
     $user_array[$index][$key] = $val; 
    } 
} 

DEMO

+0

Спасибо, что ответили. Я взорвал массив для определенных ключей, которые нужно добавить в main 'user_array'. Я не мог понять, как именно использовать вышеприведенный фрагмент для генерации ожидаемого результата. Как я должен это делать, рассматривая выше массивы? – Slimshadddyyy

+0

Просто измените '$ value' на' $ value_array' и '$ user' на' $ user_array', семантику. –

+0

@Slimshadddyyy Я исправил свой ответ, чтобы использовать имена массивов. – Barmar

Смежные вопросы