【发布时间】:2016-08-17 04:22:17
【问题描述】:
我有两个数组,像这样,
form_field_combined = ["920" => "920", "921" => "921", "922" =>"922", "923" => "923", "924" => "924", "925" => "925", "926" => "926"];
下一个数组是这样的,
$values = ["920"=>"Answer", "924" => "Option", "926"=>"Something Awesome"];
注意:第二个数组 $values 的长度总是等于或小于第一个数组 $form_field_combined 。
现在我想要实现的是,将这两个数组组合成一个数组,使其看起来像这样。
$new_array = ["920"=>"Answer", "921"=>"", "922" => "", "923"=>"", "924" => "Option", "925" => "", "926"=>"Something Awesome"];
我的解决方案是使用这样的array_map:
$form_data_values = [];
$all_fields = array_map(function ($each, $key) use ($values, $form_data_values) {
array_map(function ($each_value, $each_key) use ($each, $key, $values, $form_data_values) {
if (in_array($each, $values)) {
array_push($form_data_values, [$key => $values[$each]]);
} else {
array_push($form_data_values, [$key => ""]);
}
dd($form_data_values); // The values are as expected and being preserved here..
}, $values, $form_data_values);
dd($form_data_values); // The value is lost now, and is blank.
}, $values, array_keys($form_field_combined));
我希望保留 $form_data_values 数组,以便我可以在其他地方使用它,在我的情况下它不起作用。
或者您可以看到预期的结果并提出任何其他方式。谢谢你
【问题讨论】:
标签: php arrays algorithm data-structures