javascript與php一維數(shù)組與二維數(shù)組互轉(zhuǎn)

一、php:

  1. 一維轉(zhuǎn)二維:
    a. 代碼:
    /*
    @desc:一維數(shù)組轉(zhuǎn)二維數(shù)組
    @param data 需要轉(zhuǎn)換的數(shù)組
    @param key 主鍵
    @return ret 轉(zhuǎn)換后的數(shù)組
    */
    function onetomore($data,$key){
    $ret = array();
    foreach($data as $v){
        $arr = array();
        foreach($v as $k1=>$v1){
            if($k1 != $key){
                $arr[$k1] = $v1;
            }
        }
        $ret[$v[$key]][] = $arr;
    }
    return $ret;
    }

    b. 測試:

    樂山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

    $data = array(
    array(
        'user_id' => 1,
        'role_id' => 1,
        'user_nick' => 'a'
    ),
    array(
        'user_id' => 2,
        'role_id' => 1,
        'user_nick' => 'b'
    ),
    array(
        'user_id' => 3,
        'role_id' => 2,
        'user_nick' => 'c'
    )
    );
    $ret = onetomore($data,'role_id');
    var_dump($ret);

    c. 輸出:

    array(2) {
    [1]=>
    array(2) {
    [0]=>
    array(2) {
      ["user_id"]=>
      int(1)
      ["user_nick"]=>
      string(1) "a"
    }
    [1]=>
    array(2) {
      ["user_id"]=>
      int(2)
      ["user_nick"]=>
      string(1) "b"
    }
    }
    [2]=>
    array(1) {
    [0]=>
    array(2) {
      ["user_id"]=>
      int(3)
      ["user_nick"]=>
      string(1) "c"
    }
    }
    }
  2. 二維轉(zhuǎn)一維:
    a. 代碼:
    /*
    @desc:二維數(shù)組轉(zhuǎn)一維數(shù)組
    @param data 需要轉(zhuǎn)換的數(shù)組
    @param key 主鍵
    @return ret 轉(zhuǎn)換后的數(shù)組
    */
    function moretoone($data,$key){
    $ret = array();
    $count = 0;
    foreach($data as $k=>$v){
        foreach($v as $v1){
            $ret[$count] = $v1;
            $ret[$count][$key] = $k;
            $count ++;
        }
    }
    return $ret;
    }

    b. 測試:

    $data = array(
    1 => array(
        array(
            "user_id" => 1,
            "user_nick" => 'a'
        ),
        array(
            "user_id" => 2,
            "user_nick" => 'b'
        )
    ),
    2 => array(
        array(
            "user_id" => 3,
            "user_nick" => 'c'
        )
    )
    );
    $ret = moretoone($data,'role_id');
    var_dump($ret);

    c. 輸出:

    array(3) {
    [0]=>
    array(3) {
    ["user_id"]=>
    int(1)
    ["user_nick"]=>
    string(1) "a"
    ["role_id"]=>
    int(1)
    }
    [1]=>
    array(3) {
    ["user_id"]=>
    int(2)
    ["user_nick"]=>
    string(1) "b"
    ["role_id"]=>
    int(1)
    }
    [2]=>
    array(3) {
    ["user_id"]=>
    int(3)
    ["user_nick"]=>
    string(1) "c"
    ["role_id"]=>
    int(2)
    }
    }

    二、javascript:

  3. 一維轉(zhuǎn)二維:
    a. 代碼:
    /*
    @desc:一維數(shù)組轉(zhuǎn)二維數(shù)組
    @param data 需要轉(zhuǎn)換的數(shù)組
    @param key 主鍵
    @return ret 轉(zhuǎn)換后的數(shù)組
    */
    function onetomore(data,key){
    var ret = {}
    for(var i in data){
        ret[data[i][key]] = new Array()
    }
    for(var i in data){
        var arr = {}
        for(var j in data[i]){
            if(j != key){
                arr[j] = data[i][j]
            }
        }
        ret[data[i][key]].push(arr)
    }
    return ret
    }

    b. 測試:

    var data = new Array(
        {
            'uesr_id':1,
            'role_id':1,
            'user_nick':'a'
        },
        {
            'uesr_id':2,
            'role_id':1,
            'user_nick':'b'
        },
        {
            'uesr_id':3,
            'role_id':2,
            'user_nick':'c'
        }
    )
    var ret = onetomore(data,'role_id')
    console.log(ret)

    c. 輸出:

    { '1': 
    [ { uesr_id: 1, user_nick: 'a' },
     { uesr_id: 2, user_nick: 'b' } ],
    '2': [ { uesr_id: 3, user_nick: 'c' } ] }
  4. 二維轉(zhuǎn)一維:
    a. 代碼:
    /*
    @desc:二維數(shù)組轉(zhuǎn)一維數(shù)組
    @param data 需要轉(zhuǎn)換的數(shù)組
    @param key 主鍵
    @return ret 轉(zhuǎn)換后的數(shù)組
    */
    function moretoone(data,key){
    var ret = new Array()
    var count = 0
    for(var i in data){
        ret[count] = {}
        for(var j in data[i]){
            ret[count] = data[i][j]
            ret[count][key] = i
            count ++
        }
    }
    return ret
    }

    b. 測試:

    var data = {
    1:new Array(
            {
                'user_id':1,
                'user_nick':'a'
            },
            {
                'user_id':2,
                'user_nick':'b'
            }
        ),
    2:new Array(
            {
                'user_id':3,
                'user_nick':'c'
            }
        )
    }
    var ret = moretoone(data,'role_id')
    console.log(ret)

    c. 輸出:

    [ { user_id: 1, user_nick: 'a', role_id: '1' },
    { user_id: 2, user_nick: 'b', role_id: '1' },
    { user_id: 3, user_nick: 'c', role_id: '2' } ]

本文題目:javascript與php一維數(shù)組與二維數(shù)組互轉(zhuǎn)
URL地址:http://www.muchs.cn/article48/jiohep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、App開發(fā)、ChatGPT、網(wǎng)站設(shè)計公司品牌網(wǎng)站制作、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)