[英]How to fill a empty value in KEY=> VALUE for array_combine in php
[英]Merge two arrays by key but mantain the key of the first in PHP, array_combine fails
我试图组合两个数组,但要保留第一个的键。
我有此数据:
$days = array(
1 => array("name" => "Monday"),
2 => array("name" => "Tuesday"),
3 => ...
30 => array("name" => "Sunday"),
);
还有一个点击:
$clics = array(
2 => array("clicks" => 4),
10 => array("clicks" => 2),
);
我想要的数组是:
$final = array(
1 => array("name" => "Monday"),
2 => array("name" => "Tuesday", "clicks" => 4),
3 => ...
4 =>
5 =>
...
10 => array("name" => "Tuesday", "clicks" => 2),
..
30 => array("name" => "Sunday"),
);
在第二个数组中,如果没有单击,则索引不存在。 我试过array_combine,但需要具有相同的键,而array_merge失败。
我有什么选择?
先感谢您
看一下PHP.net上的array_merge_recursive函数。 另外,查看那里的注释,以查找那些功能之一是否正在提供所需的数组(即,IE 注释#104145和注释#102379
另外,请注意,使用foreach可以确保最终拥有所需的数组。 有什么特定原因导致您不想要或无法使用foreach?
我看不到有任何方法可以无循环地执行此操作,但是使用循环很容易:
function merge_your_arrays ($days, $clicks) {
foreach ($days as $k => $v) {
if (isset($clicks[$k])) {
$days[$k] = array_merge($days[$k],$clicks[$k]);
}
}
return $days;
}
$final = merge_your_arrays($days, $clicks);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.