検索
ホームページバックエンド開発PHPの問題PHPを使用して配列キーを除外する方法

PHP プログラミングでは、配列は非常に一般的なデータ型であり、多くの場合、配列を操作する必要があります。ただし、場合によっては、特定のキーを配列から除外し、他のキーを保持する必要がある場合があります。この記事では、PHPを使用して配列キーを除外する方法を説明します。

1. unset 関数を使用する

unset 関数では、キーと値のペアを削除できます。キーがパラメータとして unset 関数に渡されると、キーは削除されます。

以下は、unset 関数を使用して配列キーを除外する例です:

$my_array = array(
    'foo' => 'bar',
    'john' => 'doe',
    'mary' => 'jane'
);

unset($my_array['foo']);

print_r($my_array); // Array ( [john] => doe [mary] => jane )

上の例では、配列 $my_array 内のキー 'foo' が unset 関数によって削除されます。出力された配列には「foo」キーの値がないことがわかります。

したがって、unset 関数を使用して、配列内の除外するすべてのキーをループすることで、それらを 1 つずつ削除できます。

以下は、unset 関数を使用して複数の配列キーを除外する例です:

$my_array = array(
    'foo' => 'bar',
    'john' => 'doe',
    'mary' => 'jane',
    'jane' => 'smith'
);

$exclude_keys = array('foo', 'mary');

foreach ($exclude_keys as $key) {
    unset($my_array[$key]);
}

print_r($my_array); // Array ( [john] => doe [jane] => smith )

上の例では、除外するキー配列 $exclude_keys を走査するために foreach ループが使用されています。その後、unset 関数が使用され、それらは配列から順番に削除されます。

2. array_diff_key 関数を使用する

PHP には、2 つの配列のキーを比較して差分を返すために使用できる、非常に便利な関数 array_diff_key が用意されています。

次は、array_diff_key 関数を使用して複数の配列キーを除外する例です。

$my_array = array(
    'foo' => 'bar',
    'john' => 'doe',
    'mary' => 'jane',
    'jane' => 'smith'
);

$exclude_keys = array('foo', 'mary');

$filtered_array = array_diff_key($my_array, array_combine($exclude_keys, array_fill(0, count($exclude_keys), null)));

print_r($filtered_array); // Array ( [john] => doe [jane] => smith )

上の例では、array_combine 関数と array_fill 関数を使用して、すべての配列キーを含む等しい長さの配列を生成します。 null 値. を返し、array_diff_key 関数を使用して、$my_array と、キーがすべて空である配列、つまり $exclude_keys 配列内のすべてのキーが除外されている配列との差を返します。

3. array_filter 関数を使用する

PHP では、array_filter 関数を使用して配列をフィルターし、対応する配列要素を返します。コールバック関数が提供されるため、特定のキーを除外する必要があるかどうかを判断するコールバック関数を作成できます。

次は、array_filter 関数を使用して複数の配列キーを除外する例です:

$my_array = array(
    'foo' => 'bar',
    'john' => 'doe',
    'mary' => 'jane',
    'jane' => 'smith'
);

$exclude_keys = array('foo', 'mary');

$filtered_array = array_filter($my_array, function($key) use ($exclude_keys) {
    return !in_array($key, $exclude_keys);
}, ARRAY_FILTER_USE_KEY);

print_r($filtered_array); // Array ( [john] => doe [jane] => smith )

上の例では、匿名関数を定義し、use キーワードを使用して $exclude_keys 配列を渡します。それに。この無名関数の機能は、配列キーが $exclude_keys 配列に存在する場合、フィルターで除外する必要があることを示す false を返すことです。最後に、この匿名関数をコールバック関数として array_filter 関数に渡します。 array_filter 関数を使用する場合、3 番目のパラメーターを ARRAY_FILTER_USE_KEY として指定し、コールバック関数を使用して配列のキーをフィルター処理することを示します。

4. array_keys 関数と array_diff 関数を使用する

最後に、array_keys 関数と array_diff 関数を使用して配列キーを除外することもできます。具体的な方法は、まず array_keys 関数を使用して配列のすべてのキーを取得し、次に array_diff 関数を使用して保持する必要があるキーを取得し、これらのキーを使用して新しい配列を構築します。

次は、array_keys 関数と array_diff 関数を使用して複数の配列キーを除外する例です。

$my_array = array(
    'foo' => 'bar',
    'john' => 'doe',
    'mary' => 'jane',
    'jane' => 'smith'
);

$exclude_keys = array('foo', 'mary');

$filtered_keys = array_diff(array_keys($my_array), $exclude_keys);

$filtered_array = array_intersect_key($my_array, array_combine($filtered_keys, $filtered_keys));

print_r($filtered_array); // Array ( [john] => doe [jane] => smith )

上の例では、まず array_keys 関数を使用して $my_array のすべてのキーを取得し、次に、array_diff 関数を使用して、保持する必要があるキーをフィルターで除外します。次に、array_combine 関数を使用してフィルタリングされたキーを同じキー値を持つ配列に形成し、最後に array_intersect_key 関数を使用してフィルタリングされた配列を返します。

概要

PHP には、配列キーを除外するための複数のメソッドが用意されており、さまざまな実際の状況に対処するためにさまざまなメソッドの使用を選択できます。具体的には、unset 関数、array_diff_key 関数、array_filter 関数、array_keys 関数、および array_diff 関数を使用して、この操作を完了できます。これらのメソッドを使用するときは、不要なキーを誤って削除したり保持したりしないように、配列キーを慎重に扱う必要があることに注意することが重要です。

以上がPHPを使用して配列キーを除外する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。