id |
field1 |
field2 | field3 | field4 | key |
1 |
*** | *** | *** | *** | meat1 |
2 |
*** | *** | *** | *** | meat1 |
3 |
*** | *** | *** | *** | meat1 |
4 | *** | *** | *** | *** | meat1 |
5 |
*** | *** | *** | *** | fruit2 |
6 | *** | *** | *** | *** | fruit2 |
7 |
*** | *** | *** | *** | fruit2 |
8 |
*** | *** | *** | *** | fruit2 |
9 |
*** | *** | *** | *** | fruit2 |
10 |
*** | *** | *** | *** | food3 |
11 |
*** | *** | *** | *** | food3 |
现在有如上所示的结果
要求:要对这个已经按key进行排序了的数组进行操作,相同key的项进行处理。
提示:这个是很典型的母子表的结构,也就是说其实它是两张表的合并,可以这样处理成两个数组,方便数组里面对块的操作
array1:id|key
id |
key |
1 |
meat1 |
2 |
meat1 |
3 |
meat1 |
4 | meat1 |
5 |
fruit2 |
6 | fruit2 |
7 |
fruit2 |
8 |
fruit2 |
9 |
fruit2 |
10 |
food3 |
11 |
food3 |
array2:key => array(id,field1,field2,field3,field4,field5,key)
id |
field1 |
field2 | field3 | field4 | key | |
meat1=> |
1 |
*** | *** | *** | *** | meat1 |
2 |
*** | *** | *** | *** | meat1 | |
3 |
*** | *** | *** | *** | meat1 | |
4 | *** | *** | *** | *** | meat1 | |
fruit2=> | 5 |
*** | *** | *** | *** | fruit2 |
6 | *** | *** | *** | *** | fruit2 | |
7 |
*** | *** | *** | *** | fruit2 | |
8 |
*** | *** | *** | *** | fruit2 | |
9 |
*** | *** | *** | *** | fruit2 | |
food3=> | 10 |
*** | *** | *** | *** | food3 |
11 |
*** | *** | *** | *** | food3 |
实现如上数组分离代码
这样后,访问temparray的块数据就非常方便了
foreach($temparray as $row){
array1[$row['id']] = $row['key'];
array2[$row['key']][] = $row;
}
访问和处理代码
foreach($array1 as $id => $key){
$this->dosomething($id);
//访问temparray的块数组$array2[$key]
$this->dosomething2($array2[$key]);
}
如对本文有疑问, 点击进行留言回复!!
[ACTF2020 新生赛]Include 1【文件包含】【读取代码】
算法题解 - 牛客编程巅峰赛S1第6场 - 黄金&钻石&王者组
推荐一个程序员必备网站之一:Dev Hints ,非常实用!
网友评论