ホームページ > バックエンド開発 > PHPの問題 > PHPで配列メンバーを削除する方法(3つの方法)

PHPで配列メンバーを削除する方法(3つの方法)

PHPz
リリース: 2023-04-19 09:35:54
オリジナル
651 人が閲覧しました

PHP では、配列は非常に一般的に使用されるデータ構造ですが、配列を使用する場合、配列メンバーの削除が必要になることがよくあります。したがって、この記事では、unset()、array_splice()、array_filter() 関数など、PHP で配列メンバーを削除するいくつかの異なる方法を紹介します。

unset() 関数

unset() 関数を使用すると、配列内の 1 つ以上の指定されたメンバーを削除できます。構文は次のとおりです。

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

このうち、$array は操作対象の配列を表し、key は削除対象のメンバーのキーを表します。複数のメンバーを削除する場合は、複数の unset() 関数を使用して各メンバーを個別に削除できます。例:

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

さらに、変数を使用して、削除するメンバーを指定することもできます。例:

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

unset() 関数を使用して配列メンバーを削除した後、メンバーによって占有されていたメモリ空間は解放されませんが、再利用可能としてマークされることに注意してください。メモリ領域を完全に解放したい場合は、array_values() 関数を使用して配列のインデックスを再設定できます。

array_splice() 関数

array_splice() 関数を使用すると、配列内の指定された位置にある特定の数のメンバーを削除し、削除されたメンバーを返すことができます。構文は次のとおりです。

array_splice($array, $offset, $length);
ログイン後にコピー

このうち、$array は操作対象の配列を表し、$offset と $length はそれぞれ削除する開始位置と削除するメンバーの数を表します。例:

$removed = array_splice($array, 2, 3);
ログイン後にコピー

は、$array 配列の 3 番目の位置から開始して 3 つのメンバーを削除し、これらの削除されたメンバーを $removed 配列に保存することを意味します。

array_splice() 関数を使用して配列メンバーを削除すると、メンバーによって占有されていたメモリ空間が解放され、配列のインデックスが自動的に再構築されることに注意してください。

array_filter() 関数

array_filter() 関数は、配列メンバーをフィルター処理するために使用できます。また、条件を満たさないメンバーを削除するためにも使用できます。構文は次のとおりです。

array_filter($array, $callback);
ログイン後にコピー

このうち、$array は操作対象の配列を表し、$callback はフィルタリング条件を定義するために使用できるコールバック関数です。たとえば、無名関数を使用して値 0 のメンバーを削除できます。

$array = array(1, 0, 3, 0, 5);
$array = array_filter($array, function($value) {
    return $value != 0;
});
ログイン後にコピー

この操作の後、$array 配列内の値 0 のすべてのメンバーが削除され、1、3 だけが残ります。 5. 価値。

array_filter() 関数を使用して配列メンバーを削除すると、削除されたメンバーによって占有されていたメモリ空間が解放され、配列のインデックスが自動的に再構築されることに注意してください。

まとめ

PHP で配列メンバーを削除する一般的な方法は上記 3 つですが、それぞれに特徴があるので、状況に応じて使い分けてください。このうち、unset() 関数は最も単純な方法ですがメモリ空間を解放しません、array_splice() 関数はメモリ空間を解放できますが開始位置と削除数を指定する必要があります、array_filter() 関数はコールバック関数に基づいて複雑なフィルタリング操作を実行できます。したがって、これらの機能を使用する場合は、特定のニーズに基づいて選択する必要があります。

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

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