php 使用数组合并到 foreach 循环中
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/16447007/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
using array merge into a foreach loop
提问by Head Way
I need to merge a new array of alternative information into the loop if they have the alternative information in their profile.
如果他们的个人资料中有替代信息,我需要将一组新的替代信息合并到循环中。
Here's my loop:
这是我的循环:
foreach ($doctor->getVars() as $k => $v)
{
$data['doctor_'. $k] = $v;
}
foreach ($patient->get_data() as $k=>$v)
{
if (is_string($v) || is_numeric($v))
$data["patient_" . $k] = strtoupper($v);
}
Here's the $data var_dump:
这是 $data var_dump:
Array
(
[employee] => person
[date] => 05/08/2013
[datetime] => 05/08/2013 9:41:15 AM
[department] => stuff
[employee_ext] => 7457
[employee_email] =>
[barcode] => *NZS01*
[doctor_df_code] => 09HQ
[doctor_npi] => 1111111111
[doctor_dea] => B4574
[doctor_upin] =>
[doctor_license] =>
[doctor_phone] => (111)111-1111
[doctor_fax] => (000)000-0000
[doctor_fname] => UNDEFINED
[doctor_lname] => UNDEFINED
[doctor_title] =>
[doctor_intake_rx_caller_id] =>
[doctor_costco_rx_caller_id] =>
[doctor_reorder_rx_caller_id] =>
[doctor_address1] => 24 CABELL st
[doctor_address2] => SUITE 10
[doctor_city] => places
[doctor_state] => CA
[doctor_zip] => 91111
[doctor_active_events] =>
[doctor_dont_call] => 0
[doctor_dont_fax] => 1
)
I need to merge the below array into the above array. Here's the print var for the function addr($dfcode):
我需要将下面的数组合并到上面的数组中。这是函数 addr($dfcode) 的打印变量:
Array
(
[0] => Array
(
[CODE_] => 09HQ
[doctor_address1] => alternate addy
[doctor_address2] => 45854
[doctor_city] => different city
[doctor_state] => CA
[doctor_zip] => 963545
[doctor_phone] => (619)111-2548
[doctor_fax] => (157)123-4569
)
)
I'm new to array merge and I'm assuming right after the $data['doctor_'. $k] = $v
i could list out the new function and the fields i want to merge in particular?
我是数组合并的新手,我假设在$data['doctor_'. $k] = $v
我可以列出新函数和我想要合并的字段之后?
syntax is what i'm not sure on:
语法是我不确定的:
$data['doctor_'. $k] . array_merge(addr($dfcode))['doctor_address1'] = $v;
Any help would be greatly appreciated, thank you.
任何帮助将不胜感激,谢谢。
回答by 2to1mux
The general formula for merging two arrays is as follows (merging $array_m into $array_o):
合并两个数组的一般公式如下(将$array_m合并为$array_o):
foreach($array_m as $key=>$value){
$array_o[$key] = $value;
}
$array_o
would now contain all of the elements of $array_m
$array_o
现在将包含所有元素 $array_m
EDIT: I just noticed in your post that you seem to want to use the array_merge function. You could also do the following:
编辑:我刚刚在您的帖子中注意到您似乎想要使用 array_merge 函数。您还可以执行以下操作:
$array_o = array_merge($array_o, array_m);