name | sex |
---|---|
小红 | 女 |
小明 | 男 |
小草 | 女 |
小梁 | 男 |
库表里有这样的数据,我打算把sex相同的整理成一个数组,然后我就开始查怎么用sql语句直接查出来,知道我看到了这段话
https://www.cnblogs.com/zhuiluoyu/p/6862673.html
我就放弃了,决定打算查出来然后对数组进行处理,看到了这篇问答https://zhidao.baidu.com/question/134979377833744885.html
这个解释里边是处理的数组要比我处理的数组维度高,所以我要自己改一下
这是处理之前的数组格式
array(
array(
'name'=>'小红',
'sex'=>'女'
),
array(
'name'=>'小明',
'sex'=>'男'
),
array(
'name'=>'小草',
'sex'=>'女'
),
array(
'name'=>'小梁',
'sex'=>'男'
),
)
接下来上代码
$re = [];
foreach($res as $r) {
$tr = $r;
unset($tr['sex']);
if(isset($re[$r['sex']])) {
$re[$r['sex']][] = $tr;
}else{
$re[$r['sex']] = array($tr);
}
}
var_export($re);
转化之后的结果是这样的
array (
'0' =>
array (
array (
'name' => '小明'
),
array (
'name' => '小梁'
),
),
'1' =>
array (
array (
'name' => '小红'
),
array (
'name' => '小草'
),
),
)
这是我在正式项目上改出来的,可能数组的组装上会有一些偏差,但是效果达到了呀