ホームページ  >  記事  >  バックエンド開発  >  指定されたキー値をPHP配列から削除する方法

指定されたキー値をPHP配列から削除する方法

PHPz
PHPzオリジナル
2023-04-24 15:48:481733ブラウズ

PHP では、配列は非常に一般的なデータ型であり、通常は一連の関連データを格納するために使用されます。配列を処理するとき、配列内の指定されたキー値を削除する必要がある場合がありますが、これは実際の開発では非常に一般的です。この記事では、PHP 配列から指定されたキー値を簡単に削除するのに役立ついくつかの一般的な方法を紹介します。

方法 1: unset() 関数を使用する

unset() 関数は、配列内のキー値を含む、指定された変数を削除できます。次の例のように、配列をループし、unset() 関数を使用して指定されたキー値を削除できます。

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
unset($arr[1]); // 删除数组中的第二个元素 banana

// 输出数组
print_r($arr);

実行結果は次のとおりです。

Array
(
    [0] => apple
    [2] => cherry
    [3] => dates
)

方法 2: array_splice() 関数

array_splice() 関数は、PHP が提供する配列操作関数で、配列内の要素を挿入または削除し、削除された要素を返すことができます。次の例のように、この関数を使用して、指定されたキー値を削除できます:

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
array_splice($arr, 1, 1); // 删除数组中的第二个元素 banana

// 输出数组
print_r($arr);

実行結果は次のとおりです:

Array
(
    [0] => apple
    [1] => cherry
    [2] => dates
)

array_splice() 関数を使用する場合、最初のパラメータは配列、2 番目のパラメータは削除する開始位置、3 番目のパラメータは削除する要素の数を指定します。

方法 3: array_diff() 関数を使用する

array_diff() 関数は、配列の差分セットを計算するために使用できます。つまり、存在する値を含む配列を返します。配列 A にはありますが、配列 B にはありません。要素は存在しません。 1 つ以上の指定されたキー値を削除する場合は、これらのキー値を配列にカプセル化し、それを 2 番目のパラメーターとして array_diff() 関数に渡すことができます。コードは次のとおりです。

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
$rm_key = array(1); // 要删除的键值 banana
$new_arr = array_diff($arr, array_intersect_key($arr, array_flip($rm_key)));

// 输出数组
print_r($new_arr);

実行結果は次のとおりです:

Array
(
    [0] => apple
    [2] => cherry
    [3] => dates
)

コードでは、array_intersect_key() 関数を使用して削除するキーの対応する配列を取得し、array_flip() 関数を使用してキーの値とインデックスを交換します。配列の位置を指定して、対応するキーを取得します。最後に、上記の操作の結果をパラメーターとして array_diff() 関数に渡し、指定されたキー値を削除します。

方法 4: array_filter() 関数を使用する

array_filter() 関数を使用すると、配列要素をフィルタリングし、指定した条件を満たす要素を返すことができます。削除するキー値をフィルター条件として設定し、array_filter()関数を使用して指定したキー値を削除することができます。コードは次のとおりです:

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
$rm_key = array(1); // 要删除的键值 banana
$new_arr = array_filter($arr, function($k) use($rm_key) {
    return !in_array($k, $rm_key);
}, ARRAY_FILTER_USE_KEY);

// 输出数组
print_r($new_arr);

実行結果は次のとおりです:

Array
(
    [0] => apple
    [2] => cherry
    [3] => dates
)

コードでは、キー値をフィルタリングするために、array_filter() 関数のコールバック関数として匿名関数を使用します。削除されます。このうち、 use キーワードは外部変数を導入して、ループ内で $rm_key 変数にアクセスできるようにするために使用されます。 ARRAY_FILTER_USE_KEY は、配列のキーをフィルタリングすることを意味します。

要約すると、PHP 配列内の指定されたキー値を削除するための 4 つの一般的なメソッド、unset() 関数、array_splice() 関数、array_diff() 関数、および array_filter() を紹介しました。関数。 。この記事が、PHP 配列関連の操作をより適切に処理するのに役立つことを願っています。

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

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