目次
array_filter 関数の使用
array_search 関数と unset 関数の使用
array_diff 関数の使用
foreach ループと unset 関数を使用する
概要
ホームページ バックエンド開発 PHPの問題 PHP配列から指定された値を削除する方法

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

May 11, 2023 am 09:37 AM

PHP では、配列から特定の値を削除する必要がある場合、それを行う方法がいくつかあります。この記事では、これらの方法について説明します。次の配列があるとします。

$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
ログイン後にコピー

array_filter 関数の使用

array_filter() この関数を使用すると、配列内の必要な値をフィルタリングして除外できます。新しい配列を返します。コールバック関数を渡すだけでよく、このコールバック関数が「必要な値」の基準を決定します。この例では、配列から値 5 の項目を削除したいので、次のようにコールバック関数を渡すことができます:

function remove_5($value)
{
  return $value != 5;
}

$arr = array_filter($arr, "remove_5");
ログイン後にコピー

この関数は、PHP の弱い型指定の比較演算子を利用します!=。値を比較するときに型変換を自動的に実行します。これは、入力値が文字列であるか整数であるかなどを心配する必要がないことを意味します。

array_filter() この関数は、指定された条件を満たす要素のみを返し、元の添え字に基づいて新しい配列を構築します。この時点で、この新しい配列の添え字がリセットされていることがわかります。そのため、元の添え字を保持したい場合は、別の方法を使用する必要があります。

array_search 関数と unset 関数の使用

array_search() この関数を使用すると、配列内の指定された値を検索し、そのキーを返すことができます。 unset() 関数を使用して、このキーに対応する要素を削除できます。コードは次のとおりです。

$key = array_search(5, $arr);
if ($key !== false) {
  unset($arr[$key]);
}
ログイン後にコピー

この例では、まず array_search() 関数を使用してキー 5 の要素を検索し、見つかった場合は unset( ) 関数を使用して削除します。

array_search() 関数では、最初のパラメータは検索する値、2 番目のパラメータは検索する配列であることに注意してください。値が見つからない場合は、false が返されます。

array_diff 関数の使用

array_diff() 関数を使用すると、ある配列を別の配列と比較し、2 つの配列の差を返すことができます。この例では、以下に示すように、この関数を使用して値 5 の項目を削除できます。

$remove = array(5);
$arr = array_diff($arr, $remove);
ログイン後にコピー

この関数は、比較される 2 つの配列である 2 つのパラメーターを受け取ります。最初の配列には存在するが 2 番目の配列には存在しない要素を含む配列を返します。

foreach ループと unset 関数を使用する

最後の方法では、foreach ループを使用して配列を走査し、unset() 関数を使用して必要な値を削除する必要があります。 。コードは次のとおりです。

foreach ($arr as $key => $value) {
  if ($value == 5) {
    unset($arr[$key]);
  }
}
ログイン後にコピー

このメソッドを使用すると、各要素に直接アクセスでき、ループ内で配列自体を変更できます。ただし、この方法は複雑性が高いためパフォーマンスに影響を与える可能性があり、配列が大きい場合にはパフォーマンスの問題が発生する可能性があります。

概要

PHP では、配列から指定した要素を削除する方法がたくさんあります。 array_filter() 関数を使用して削除する必要のない要素を返すことも、array_search() 関数と unset()## を使用することもできます。 # 削除する必要がある要素を削除する関数。 array_diff() 関数を使用して 2 つの配列を比較し、その差を返すこともできます。最後に、ループと unset() 関数を使用して配列を反復処理し、指定された要素を直接削除できます。特定のアプリケーションでは、実際のニーズに基づいて最適な方法を選択できます。

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPアレイの重複排除のためのベストプラクティスは何ですか PHPアレイの重複排除のためのベストプラクティスは何ですか Mar 03, 2025 pm 04:41 PM

PHPアレイの重複排除のためのベストプラクティスは何ですか

PHPアレイの重複排除は、キー名の一意性を利用できますか? PHPアレイの重複排除は、キー名の一意性を利用できますか? Mar 03, 2025 pm 04:51 PM

PHPアレイの重複排除は、キー名の一意性を利用できますか?

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? Mar 03, 2025 pm 04:47 PM

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか?

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

最新のPHPコーディング基準とベストプラクティスは何ですか?

PHPアレイの重複排除のための最適化手法は何ですか PHPアレイの重複排除のための最適化手法は何ですか Mar 03, 2025 pm 04:50 PM

PHPアレイの重複排除のための最適化手法は何ですか

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

PHP拡張機能とPECLを使用するにはどうすればよいですか?

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は?

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

リフレクションを使用してPHPコードを分析および操作する方法は?

See all articles