以二維數組中的相同值爲鍵,重新整理數組

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' => '小草'
            ),
        ),
    )

這是我在正式項目上改出來的,可能數組的組裝上會有一些偏差,但是效果達到了呀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章