我有以下两个对象数组:
First Array: $array1
Array
(
[0] => Array
(
[match] => 1
[when] => 2013-10-13 15:00:00
[a] => AD
[b] => NiP
[winner] => c
[closed] => 1
[event] => Fragbite Masters
[format] => 3
)
[1] => Array
(
[match] => 2
[when] => 2013-10-13 15:00:00
[a] => VG
[b] => AD
[winner] => a
[closed] => 1
[event] => Starseries
[format] => 5
)
[2] => Array
(
[match] => 3
[when] => 2013-10-13 21:15:00
[a] => Serbia
[b] => Portugal
[winner] => a
[closed] => 1
[event] => ESEC
[format] => 1
)
)
第二阵列: $array2
Array
(
[0] => Array
(
[match] => 1
[a] => 58
[b] => 107
)
[1] => Array
(
[match] => 2
[a] => 174
[b] => 162
)
[2] => Array
(
[match] => 3
[a] => 64
[b] => 59
)
)
我想得到类似的内容:
Array
(
[0] => Array
(
[match] => 1
[when] => 2013-10-13 15:00:00
[a] => AD
[b] => NiP
[winner] => c
[closed] => 1
[event] => Fragbite Masters
[format] => 3
[per_a] => 58
[per_b] => 107
)
[1] => Array
(
[match] => 2
[when] => 2013-10-13 15:00:00
[a] => VG
[b] => AD
[winner] => a
[closed] => 1
[event] => Starseries
[format] => 5
[per_a] => 174
[per_b] => 162
)
[2] => Array
(
[match] => 3
[when] => 2013-10-13 21:15:00
[a] => Serbia
[b] => Portugal
[winner] => a
[closed] => 1
[event] => ESEC
[format] => 1
[per_a] => 64
[per_b] => 59
)
)
第二个数组中的键名[a]
和[b]
已修改为[per_a]
和[per_b]
。
我尝试合并两个文件的内容:
array_merge& array_merge_recursive :两者都得到一个结果,其中$array2
的合并值附加到$array1
的末尾。
array_combine :由于$array1
和$array2
没有相同数量的元素,所以无法工作。
这只是每个文件的一部分,两者在元素方面都不相同。 如果你有一个答案,那将是一个折旧!提前thx!
答案 0 :(得分:0)
试试这个你需要在功能上修改你的键。见Demo
的新密钥
// This is automatically called by loopback MyModel.setup = function() { // Super setup MyModel.base.setup.apply(this, arguments); // Your customization MyModel.remoteMethod(...); MyModel.disableRemoteMethod(...); };
:将检查两个数组中是否存在密钥。$match
$whereKey1
:从第二个数组中获取值并将其放入您的$whereKey2
和$newkey1
$newkey2
<强>输出:强>
function key_compare_func($arr1, $arr2)
{
$newarray = array();
$match = "match";
$whereKey1 = "a";
$whereKey2 = "b";
$newKey1 = "per_a";
$newKey2 = "per_b";
if(is_array($arr1) && is_array($arr2)){
if($arr1[$match] == $arr2[$match] ){
$newarray = array_merge($arr1, array($newKey1 => $arr2[$whereKey1], $newKey2 => $arr2[$whereKey2]));
}
}
return $newarray;
}
$modifiedArray = array_map("key_compare_func",$A1, $A2);
echo '<pre>';print_r($modifiedArray);echo '</pre>';