佚名通过本文主要向大家介绍了数组元素循环右移问题,数组中的排序问题,最大子数组问题,c语言数组问题,约瑟夫问题数组等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:数组对比效率问题
描述:
解决方案1:
描述:
两个数组,ArrayA和ArrayB
$arrayA = array (
0 => array (
0 => 1,
4 => 1,
6 => 1,
),
1 => array (
1 => 1,
3 => 1,
5 => 1,
),
2 => array (
7 => 1,
8 => 1,
9 => 1,
),
);$arrayB = array (
0 => array (
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
6 => 'g',
7 => 'h',
8 => 'i',
9 => 'j',
),
1 => array (
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
6 => 'g',
7 => 'h',
8 => 'i',
9 => 'j',
),
2 => array (
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
6 => 'g',
7 => 'h',
8 => 'i',
9 => 'j',
),
);希望得到结果
$result = array (
0 => array (
0 => 'a',
4 => 'e',
6 => 'g',
),
1 => array (
1 => 'b',
3 => 'd',
5 => 'f',
),
2 => array (
7 => 'h',
8 => 'i',
9 => 'j',
),
);我现在的做法是做两层循环
$result = array ();
foreach ($arrayA as $k => $v) {
foreach ($v as $kk => $vv) {
$result[$k][$kk] = $arrayB[$k][$kk];
}
}有没有什么效率更高的方式呢?
解决方案1:
使用 PHP 的内置函数 array_intersect 即可
参考

