数组实例--把键相同的数组合并

【数组实例--把键相同的数组合并】场景,把键相同的多个数组,合并到键下面的多个数组里面,图一是原数组,图二是我们想要的结果数组
数组实例--把键相同的数组合并
文章图片
图1,原数组 数组实例--把键相同的数组合并
文章图片
图22,我们想要的结果 代码
public function test() { $arr = [ [ 1 => [ 1 , 11 ], ], [ 1 => [ 11 , 22 ], ], [ 1 => [ 3 , 33 ], ], [ 2 => [ 2 , 11 ], ], [ 2 => [ 2 , 22 ], ], [ 3 => [ 3 , 33 ], ], ]; $data = https://www.it610.com/article/$this->test3($arr); dd($arr1); } public function test3($arr) { foreach ($arr as $key => $value) { foreach ($value as $key1 => $value1){ $result[$key1][] = $value1; } }return $result; }

虽然这个问题很简单,但是我费了好多时间。但是把解决思路做个总结吧。对于以后的思考会有帮助
思路1,我想得到键。取相同的键。第1步测试,我想得到键。那么我们先试试打印$key值。我们发现不是想要的结果 数组实例--把键相同的数组合并
文章图片
第一步,打印$key值 思路1,第2步测试,我们打印$value看看。发现也不是我们要的结果。但是我们把数组点开后。发现这个$value再遍历一次,即可得到我们想要的键 数组实例--把键相同的数组合并
文章图片
打印$value 思路1,第三步测试。我们打印$key1,查看下,得到了我们要的键。 数组实例--把键相同的数组合并
文章图片
打印$key1 思路2,第一步测试.找到了相同的键,我们先把此处键对应的的$value1打印看下吧 数组实例--把键相同的数组合并
文章图片
打印$value1
思路2结果分析。我们得到了我们想要的值,只是键不是我们想要的。但是键,我们已经在思路1的测试3里面找到了。所以我们可在此处的数组前面再加上我们的键,即可得到我们的结果 $result[$key1][] = $value1; 。于是我们就有了test3()函数
public function test() { $arr = [ [ 1 => [ 1 , 11 ], ], [ 1 => [ 11 , 22 ], ], [ 1 => [ 3 , 33 ], ], [ 2 => [ 2 , 11 ], ], [ 2 => [ 2 , 22 ], ], [ 3 => [ 3 , 33 ], ], ]; $data = https://www.it610.com/article/$this->test3($arr); dd($data); } public function test3($arr) { $result = array(); foreach ($arr as $key => $value) {foreach ($value as $key1 => $value1){ $result[$key1][] = $value1; } }return $result; }

思考,
有时候我们想不通的时候,我们可以先把结果自己写出来,然后从结果上, 往上一层层寻找自己需要的信息。一般都可以写出来自己需要的函数

    推荐阅读