在仔细研究了这里的大量问题之后,我仍然找不到适合我的情况的答案。
我正在尝试将数组2中的两个字段连接到数组1中
阵列1
阵列
(
[0]=>数组
(
[id]=>1个
[位置]=>顶部横幅
[姓名]=>顶部横幅1
[订单]=>1
)
[1]=>数组
(
[id]=>2个
[位置]=>左侧横幅
[姓名]=>左侧横幅1
[订单]=>2
)
)
阵列2
阵列
(
[状态]=>0
[国家]=>
[模块状态]=>1
[顶部横幅状态]=>1
[顶部横幅显示]=>0
[左横幅状态]=>1
[左横幅显示]=>0
[左横幅状态]=>1
[左横幅显示]=>0
[左横幅状态]=>1
[左横幅显示]=>0
[左横幅状态]=>
[左横幅显示]=>0
[左横幅状态]=>
[左横幅显示]=>0
[中心横幅状态]=>
[中心横幅显示]=>0
[中心横幅状态]=>
[中心横幅显示]=>0
[右横幅状态]=>
[右横幅显示]=>0
[右横幅状态]=>
[右横幅显示]=>0
[右横幅状态]=>
[右横幅显示]=>0
[右横幅状态]=>
[右横幅显示]=>0
[右横幅状态]=>
[右横幅显示]=>0
[底部横幅状态]=>
[底部横幅显示]=>0
)
我想达到的是:
阵列
(
[0]=>数组
(
[id]=>1个
[位置]=>顶部横幅
[姓名]=>顶部横幅1
[订单]=>1
[顶部横幅状态]=>1
[顶部横幅显示]=>0
)
)
这两个数组都是从数据库提交的。数组1中有13个区域,所以到目前为止,我所做的一切都是使用foreach循环,因为数组2的数据是从一个函数中获取的,理想情况下我无法编辑。
我试过很多函数,但速度不是很快。
最佳答案
假设有以下理由:
Array
(
[0] => Array
(
[id] => 1
[position] => top_banner_1
[name] => Top Banner 1
[order] => 1
[top_banner_1_status] => 1 // Added because of key is [position]_status.
[top_banner_1_display] => 0 // Added because of key is [position]_display.
)
)
我会做:
<?php
$array1 = // Array #1 from question.
$array2 = // Array #2 from question.
foreach ($array1 as $key => $item) {
$position = $item['position'];
$keySuffixes = array('_status', '_display');
foreach ($keySuffixes as $suff) {
if (array_key_exists($position . $suff, $array2)) {
$array1[$key][$position . $suff] = $array2[$position . $suff];
}
}
}
?>
不优雅,我知道:(
关于php - 将数据从一个数组添加到另一个,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8093402/