【发布时间】:2013-05-03 01:22:24
【问题描述】:
如果他们的个人资料中有替代信息,我需要将一组新的替代信息合并到循环中。
这是我的循环:
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);
}
这是 $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
)
我需要将下面的数组合并到上面的数组中。 这是函数 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
)
)
我是数组合并的新手,我假设在 $data['doctor_'. $k] = $v 之后我可以列出新函数和我特别要合并的字段?
语法是我不确定的:
$data['doctor_'. $k] . array_merge(addr($dfcode))['doctor_address1'] = $v;
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
foreach($array_bot as $key=>$value){ $array_top[$key]=$value;这将合并我认为的 2 个数组。没有测试代码。但是你需要从一开始就拥有两个数组。不知道这是不是你真正的问题
-
当您说如果他们有替代信息时要合并此信息,您的意思是仅当第二个数组包含信息时才要合并第二个数组中的数据?我不完全清楚你的条件是什么。此外,第二个数组中除了一个字段之外的所有字段都是第一个数组中字段的副本。您要替换原始数组中的数据吗?这与合并不同。
-
是的,只有当第二个数组包含信息时才合并第二个数组中的数据。替换原始数组中的数据。
-
您是否假设键将存在,但它们可能不包含任何值?还是您还需要检查密钥是否存在?
-
它们将永远存在并且可能并不总是具有价值。
标签: php foreach array-merge