ホームページ > バックエンド開発 > PHPの問題 > PHPで多次元配列を削除する方法

PHPで多次元配列を削除する方法

藏色散人
リリース: 2023-03-06 16:48:02
オリジナル
3000 人が閲覧しました

多次元配列を削除する

php メソッド: 最初に PHP サンプル ファイルを作成し、次に unsetMultiKeys メソッドを使用して複雑な多次元配列内の指定されたキーと値のペアを削除し、最後に実行結果を確認します。

PHPで多次元配列を削除する方法

推奨: 「PHP ビデオ チュートリアル

php は多次元配列の値を削除します

マニュアルを見ると、変換後は複雑な多次元配列内の指定されたキーと値のペアを削除できる関数になっていました。

<?php
$arr = [
    &#39;test&#39; => &#39;value&#39;,
    &#39;level_one&#39; => [
        &#39;level_two&#39; => [
            &#39;level_three&#39; => [
                &#39;replace_this_array&#39; => [
                    &#39;special_key&#39; => &#39;replacement_value&#39;,
                    &#39;key_one&#39; => &#39;testing&#39;,
                    &#39;key_two&#39; => &#39;value&#39;,
                    &#39;four&#39; => &#39;another value&#39;,
                ],
            ],
            &#39;ordinary_key&#39; => &#39;value&#39;,
        ],
    ],
];
$unset = array(&#39;special_key&#39;, &#39;ordinary_key&#39;, &#39;four&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r(unsetMultiKeys($unset, $arr));
print_r($arr);
echo "
ログイン後にコピー
"; 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で多次元配列を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート