91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP如何重置多維數組的索引

發布時間:2021-08-27 13:32:48 來源:億速云 閱讀:412 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關PHP如何重置多維數組的索引的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

首先我們知道,一維數組想要重置索引,非常簡單,直接利用array_values($array)函數就行。

array_values()函數的作用是返回數組中所有元素的值,使用起來非常簡單,只有一個必選參數$array,就可以返回一個包含給定數組中所有值的數組,但不保留鍵名。被返回的數組將使用索引數組的形式,數組的索引從 0 開始且以 1 遞增。

我們可以利用array_values()函數將元素下標混亂的數組重新理順,即索引從 0 開始且以 1 遞增;該函數不僅可以用于索引數組,也可用于關聯數組,能將關聯數組轉化為索引數組。

而重置多維數組的索引,也需要利用到這個array_values()函數。下面我們直接給出實現方法:

function reform_keys($array){
    if(!is_array($array)){
        return $array;
    }
    $keys = implode('', array_keys($array));
    if(is_numeric($keys)){
        $array = array_values($array);
    }
    $array = array_map('reform_keys', $array);
    return $array;
};

測試一下,有下面一個多維數組

$post = [
    0 => [
        'title' => 'xxx聯票',
        'price' => 368.00,
        'items' => [
            '33' => [
                'scenic_id' => 33,
                'products' => [
                    'goods_id' => 13
                ]
            ],
            '1500' => [
                'scenic_id' => 1500,
                'products' => [
                    'goods_id' => 57
                ]
            ],
        ],
        'tickets' => 9
    ],
    10 => [
        'title' => 'zzz聯票',
        'price' => 500.00,
        'items' => [
            '157' => [
                'scenic_id' => 157,
                'products' => [
                    'goods_id' => 77
                ],
                'attr' => [
                    '50' => [
                        'item' => '午場'
                    ],
                    '55' => [
                        'item' => '可退'
                    ]
                ]
            ],
            '19' => [
                'scenic_id' => 19,
                'products' => [
                    'goods_id' => 87
                ]
            ]
        ],
        'tickets' => 3
    ],
];

調用reform_keys()函數重置$post數組的索引,并輸出重置后的數組:

$list = reform_keys($post);
var_dump($list);

輸出結果為:

PHP如何重置多維數組的索引

可以看出,多維數組$post里面所有層級的索引都被重置,從0開始計數了!

下面給大家介紹一下里面用的函數:

  • array_keys($array):獲取$array數組中所有鍵名;

  • $keys=implode('', array_keys($array)):將鍵名數組中的元素拼接在一起,返回一個字符串$keys

  • is_numeric($keys):檢測變量$keys是否為數字或數字字符串。

  • array_values($array):獲取全部數值,即重置索引;

  • array_map('reform_keys', $array):為$array數組的每個元素應用回調函數reform_keys()。

    array_map() 返回一個 array,數組內容為 array1 的元素按索引順序為參數調用 callback 后的結果(有更多數組時,還會傳入 arrays 的元素)。 callback 函數形參的數量必須匹配 array_map() 實參中數組的數量。

感謝各位的閱讀!關于“PHP如何重置多維數組的索引”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷波县| 金平| 临颍县| 含山县| 高台县| 墨江| 江陵县| 西青区| 汝阳县| 米林县| 隆尧县| 江安县| 琼结县| 孟州市| 来安县| 婺源县| 武宁县| 句容市| 延长县| 屯昌县| 射洪县| 星座| 南岸区| 大化| 开封市| 房产| 栾川县| 桂阳县| 潼关县| 闻喜县| 会东县| 彭州市| 麻江县| 雅安市| 永兴县| 安仁县| 盱眙县| 榕江县| 新源县| 南宫市| 富源县|