数组实例--把键相同的数组合并
【数组实例--把键相同的数组合并】场景,把键相同的多个数组,合并到键下面的多个数组里面,图一是原数组,图二是我们想要的结果数组
文章图片
图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;
}
思考,
有时候我们想不通的时候,我们可以先把结果自己写出来,然后从结果上,
往上一层层寻找自己需要的信息。一般都可以写出来自己需要的函数
推荐阅读
- JavaScript内置日期、时间格式化时间实例代码
- 微信小程序实现五星评价
- SQL|SQL Server实现group_concat功能的详细实例
- iOS搭建简易购物车页面
- javascript动态分页的实现方法实例
- 【javaWeb微服务架构项目——乐优商城day02】——Vue.js(认识Vue,Node和NPM,Vue实例,指令,组件化,路由vue-router)
- Qt实现简单TCP服务器
- python|Python爬虫自动化爬取b站实时弹幕实例方法
- 代码片段-需要登录的控制器代码实现
- Python模块相关知识点小结