у меня есть два массива
$input = Array
(
[0] => Array
(
[section] => 725
[location] => New Building - 26
[rows] => DDD
[seats] => DDD
)
[1] => Array
(
[section] => 721
[location] => Helipad - II
[rows] => R1,R2
[seats] => S1,S2
)
[2] => Array
(
[section] => 724
[location] => NDTV Times
[rows] => R1,R2,R3
[seats] => S1,S2,S3
)
);
Ниже находится второй массив
$extra = Array
(
[0] => dry||Obstacles Present||yes
[1] => wet||Not Find||no
[2] => icy||||yes
[3] =>
)
, и мне нужен требуемый массив ниже:
$output =Array
(
[0] => Array
(
[section] => 725
[location] => New Building - 26
[rows] => DDD
[seats] => DDD
[conditions] => dry
[obstacles] => Obstacles Present
[normal_lighting] => yes
)
[1] => Array
(
[section] => 721
[location] => Helipad - II
[rows] => R1,R2
[seats] => S1,S2
[conditions] => wet
[obstacles] => Not Find
[normal_lighting] => no
)
[2] => Array
(
[section] => 724
[location] => NDTV Times
[rows] => R1,R2,R3
[seats] => S1,S2,S3
[conditions] => icy
[obstacles] =>
[normal_lighting] => yes
)
)
я сделал следующую последовательность дляполучите нужный массив:
foreach($extra as $efk=>$efv)
{
if(!empty($efv)) {
$arr_field_value[] = explode("||", $efv);
}
}
$arr_key = array('conditions','obstacles','normal_lighting');
foreach($arr_field_value as $fv)
{
$arr_extra_field[]=array_combine($arr_key,$fv);
}
foreach($input as $k=>$v)
{
$output[]=array_merge($v,$arr_extra_field[$k]);
}
echo "<pre>"; print_r($output);
Я знаю, что это действительно долгий путь, Пожалуйста, предложите мне любой умный способ сделать это.
Вы можете увидеть РАБОЧИЙ ДЕМО
Спасибо.