ホームページ > バックエンド開発 > PHPの問題 > PHPでキーに基づいて配列を削除する方法

PHPでキーに基づいて配列を削除する方法

PHPz
リリース: 2023-04-23 15:06:21
オリジナル
644 人が閲覧しました

PHP では、配列の追加、削除、変更、チェックなどの操作を実行する必要があることがよくあります。このうち削除操作は配列操作の中でもよく使われる操作で、実際の開発では特定の要素を削除する必要がある場面が多く出てきます。この記事ではキーに基づいて配列内の要素を削除する方法を中心に紹介します。

1. unset 関数

PHP には、配列内の指定された要素を削除するために使用できる関数 unset() が用意されています。構文は次のとおりです。

unset($array[key]);
ログイン後にコピー

このうち、$array は削除する要素の配列、key は削除する要素のキー名です。削除されました。

サンプルコードは次のとおりです。

// 创建一个关联数组
$arr = array(
    'name' => 'Tom',
    'age' => 18,
    'gender' => 'male'
);

// 删除元素 age
unset($arr['age']);

// 输出结果
print_r($arr);
ログイン後にコピー

出力結果は次のとおりです。

Array
(
    [name] => Tom
    [gender] => male
)
ログイン後にコピー

出力結果からわかるように、要素 age は正常に削除されました。

2. array_splice 関数

unset() 関数の使用に加えて、PHP の別の組み込み関数 array_splice()# を使用することもできます。 ## 配列から要素を削除します。この関数は、配列内の 1 つ以上の連続した要素を削除し、削除された要素の配列を返すことができます。構文は次のとおりです。

array_splice($array, $offset, $length);
ログイン後にコピー
このうち、

$array は削除する要素の配列、$offset は削除する要素の開始位置です。削除されました。$ length は削除される要素の数です。

サンプルコードは次のとおりです。

// 创建一个索引数组
$arr = array(0, 1, 2, 3, 4, 5);

// 删除索引为 2、3、4 的连续 3 个元素
$deleted = array_splice($arr, 2, 3);

// 输出结果
print_r($arr);
print_r($deleted);
ログイン後にコピー
出力結果は次のとおりです。

Array
(
    [0] => 0
    [1] => 1
    [5] => 5
)
Array
(
    [0] => 2
    [1] => 3
    [2] => 4
)
ログイン後にコピー
出力結果からわかるように、要素 2、3、4 が表示されます。は正常に削除され、

$deleted 変数に保存されました。

array_splice() 関数は元の配列の構造を変更するため、注意して使用する必要があることに注意してください。

3. array_diff_key 関数

もう 1 つの一般的なアプローチは、2 つの配列のキー名を比較し、キー名の差分セットを返すことができる

array_diff_key() 関数を使用することです。 。この関数を使用すると、1 つ以上のキー名に対応する要素を簡単に削除できます。

サンプルコードは次のとおりです。

// 创建一个关联数组
$arr = array(
    'name' => 'Tom',
    'age' => 18,
    'gender' => 'male'
);

// 要删除的键名数组
$keys = array('age', 'gender');

// 使用 array_diff_key 函数删除键名对应的元素
$result = array_diff_key($arr, array_flip($keys));

// 输出结果
print_r($result);
ログイン後にコピー
出力結果は次のとおりです。

Array
(
    [name] => Tom
)
ログイン後にコピー
出力結果からわかるように、要素

agegender は正常に削除されました。

array_diff_key() 関数は差分配列を返します。元の配列は変更されないため、戻り結果は新しい配列に保存する必要があります。

4. 結論

PHP では、

unset() 関数や array_splice( などのさまざまなメソッドを使用して配列内の要素を削除できます。 ) 関数は、最も一般的に使用される 2 つのメソッドです。さらに、array_diff_key() 関数を使用することもより柔軟な方法であり、キー名に基づいて配列内の要素を削除できます。

配列操作を実行するときは、予期しない状況を避けるために配列の構造を破壊しないように注意してください。

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

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