Php 如何搜索和重置我的以下数组?
实际上,数组1是我的默认数组。但我提供了从我的网站购买readingOrder的便利。现在,如果某个赌场id 78购买了读取顺序1,那么我必须将其保持在第一位。它的实际读取顺序是4。 考虑读顺序=秩和ID=CasiNyid。< /P> 所以基本上array1是我的默认数组。array2是采购订单,我希望结果像这两个数组中的array3Php 如何搜索和重置我的以下数组?,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,实际上,数组1是我的默认数组。但我提供了从我的网站购买readingOrder的便利。现在,如果某个赌场id 78购买了读取顺序1,那么我必须将其保持在第一位。它的实际读取顺序是4。 考虑读顺序=秩和ID=CasiNyid。< /P> 所以基本上array1是我的默认数组。array2是采购订单,我希望结果像这两个数组中的array3 $array1 = Array ( [0] => Array ( [
$array1 = Array
(
[0] => Array
(
[id] => 76
[readingOrder] => 1
)
[1] => Array
(
[id] => 81
[readingOrder] => 2
)
[2] => Array
(
[id] => 78
[readingOrder] => 3
)
[3] => Array
(
[id] => 80
[readingOrder] => 4
)
[4] => Array
(
[id] => 82
[readingOrder] => 5
)
[5] => Array
(
[id] => 83
[readingOrder] => 6
)
[6] => Array
(
[id] => 84
[readingOrder] => 7
)
[7] => Array
(
[id] => 85
[readingOrder] => 8
)
[8] => Array
(
[id] => 86
[readingOrder] => 9
)
[9] => Array
(
[id] => 87
[readingOrder] => 10
)
)
Secon阵列:-
$array2 = Array
(
[0] => Array
(
[rank] => 1
[casino_id] => 78
)
[1] => Array
(
[rank] => 4
[casino_id] => 76
)
)
第三个:-
$array3 = Array
(
[0] => Array
(
[id] => 78
[readingOrder] => 1
)
[1] => Array
(
[id] => 81
[readingOrder] => 2
)
[2] => Array
(
[id] => 80
[readingOrder] => 3
)
[3] => Array
(
[id] => 76
[readingOrder] => 4
)
[4] => Array
(
[id] => 82
[readingOrder] => 5
)
[5] => Array
(
[id] => 83
[readingOrder] => 6
)
[6] => Array
(
[id] => 84
[readingOrder] => 7
)
[7] => Array
(
[id] => 85
[readingOrder] => 8
)
[8] => Array
(
[id] => 86
[readingOrder] => 9
)
[9] => Array
(
[id] => 87
[readingOrder] => 10
)
)
在你的情况下,这似乎适用于和的混合物。检查内联注释以了解详细信息
// get (rank => casino_id) type array from array2 using array functions.
$array3 = array_combine(array_column($array2, 'rank'), array_column($array2, 'casino_id'));
//similar type from array1
$array4 = array_combine(array_column($array1, 'readingOrder'), array_column($array1, 'id'));
$temp = $finalArr = array();
//push only if the value is present in high priority array (array3).
foreach ($array4 as $key => $val) {
$temp[$key] = $array3[$key] ? $array3[$key] : $array4[$key];
}
//finally modify the array according to original key=> value type.
foreach ($temp as $k => $v) {
$finalArr[] = array(
'id' => $v,
'readingOrder' => $k,
);
}
你能在问题1中包括实际数组(按照php)吗。获取第二个数组2的密钥。筛选没有第二个数组3的键的数组1。更改数组4的键。合并它(这里快午夜了)。。如果明天之前没有人回答,我就回答。。祝你好运:)我在$array1中只检查了4个数组值,对我来说效果很好。非常感谢兄弟。我们是否可以删除array1的值,该值在array2中已经可用。只是为了从最终数组中删除重复的id。我认为当我们唯一地插入到临时数组中时,在最终数组中不会得到重复的值。谢谢你的更新,但错过了打字错误。只是不明白为什么要对接受的答案投否决票(TWIMC)。我也很惊讶。为什么人们会否决被接受的答案。我明白了,明天我可以好好看看。