中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

php刪除多維數組的方法

發布時間:2020-10-14 14:17:38 來源:億速云 閱讀:245 作者:小新 欄目:編程語言

這篇文章主要介紹了php刪除多維數組的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

php刪除多維數組的方法:首先創建一個PHP示例文件;然后通過unsetMultiKeys方法刪除復雜的多維數組里面的指定鍵值對;最后查看運行結果即可。

php刪除多維數組里面的值

在手冊里面發現,改造后變成了一個函數,可以刪除復雜的多維數組里面的制定鍵值對!

<?php
$arr = [
    'test' => 'value',
    'level_one' => [
        'level_two' => [
            'level_three' => [
                'replace_this_array' => [
                    'special_key' => 'replacement_value',
                    'key_one' => 'testing',
                    'key_two' => 'value',
                    'four' => 'another value',
                ],
            ],
            'ordinary_key' => 'value',
        ],
    ],
];
$unset = array('special_key', 'ordinary_key', 'four');
echo "<pre>";
print_r(unsetMultiKeys($unset, $arr));
print_r($arr);
echo "</pre>";
exit;
function unsetMultiKeys($unset, $array) {
    $arrayIterator = new \RecursiveArrayIterator($array);
    $recursiveIterator = new \RecursiveIteratorIterator($arrayIterator, \RecursiveIteratorIterator::SELF_FIRST);
    foreach ($recursiveIterator as $key => $value) {
        foreach ($unset as $v) {
            if (is_array($value) && array_key_exists($v, $value)) {
                // 刪除不要的值
                unset($value[$v]);
                // Get the current depth and traverse back up the tree, saving the modifications
                $currentDepth = $recursiveIterator->getDepth();
                for ($subDepth = $currentDepth; $subDepth >= 0; $subDepth--) {
                    // Get the current level iterator
                    $subIterator = $recursiveIterator->getSubIterator($subDepth);
                    // If we are on the level we want to change, use the replacements ($value) other wise set the key to the parent iterators value
                    $subIterator->offsetSet($subIterator->key(), ($subDepth === $currentDepth ? $value : $recursiveIterator->getSubIterator(($subDepth + 1))->getArrayCopy()));
                }
            }
        }
    }
    return $recursiveIterator->getArrayCopy();
}

運行結果:

php刪除多維數組的方法

改變多維數組里面的鍵值對

感謝你能夠認真閱讀完這篇文章,希望小編分享php刪除多維數組的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

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

php
AI

湾仔区| 荥阳市| 建德市| 永泰县| 东辽县| 巍山| 兴义市| 唐海县| 芷江| 武威市| 柘城县| 莱西市| 久治县| 从化市| 宽城| 垦利县| 甘谷县| 南汇区| 广南县| 巴东县| 基隆市| 岳普湖县| 平潭县| 衡阳县| 青川县| 东兴市| 纳雍县| 雅江县| 水富县| 渑池县| 昆山市| 万盛区| 芜湖县| 兴山县| 海林市| 长阳| 栾川县| 尼勒克县| 盐城市| 日土县| 高阳县|