ホームページ > バックエンド開発 > PHPの問題 > PHP 配列から空白要素または重複要素を削除する方法を学習します。

PHP 配列から空白要素または重複要素を削除する方法を学習します。

青灯夜游
リリース: 2023-03-12 08:20:02
オリジナル
3307 人が閲覧しました

前回の記事では、1 次元配列を分割し、指定された数の要素を含む 2 次元配列に分割する方法について学びました。読むリンク→「PHP配列学習 1次元配列を指定した要素数を含む2次元配列に変換する」。今回はPHP配列の学習と実践、そして配列の空や重複を削除する方法についてお話します。

#→関連する推奨事項: PHP 配列学習シリーズのまとめ (随時更新~)>>

今日の記事の主な内容は、配列の空の要素と繰り返しの要素。

まず見てみましょう

配列内の空の要素を削除するにはどうすればよいですか? ここでは2つの方法を紹介します。

方法 1、foreach ループ empty() unset()

実装アイデア:


  • foreach ステートメントを使用する配列 $array を走査するには、各ループでキー名を $key に割り当て、キー値を $value


  • foreach($array as $key => $value){  
    }
    ログイン後にコピー
  • に割り当てます。ループの場合は、empty() 関数を使用して $value が空かどうかを確認します。空の場合は、unset() を使用して要素を削除します。

以下に完全な実装コードを示します。 ##
<?php 
header("content-type:text/html;charset=utf-8");
$array = array("php", 11, &#39;&#39;, 12, "PHP中文网", &#39;&#39;,2021,"mysql"); 
var_dump($array);       
 
// 使用array_filter()函数从数组中移除空元素
$filtered_array = array_filter($array); 
echo "删除空元素后的数组";
var_dump($filtered_array); 
?>
ログイン後にコピー

出力結果:

PHP 配列から空白要素または重複要素を削除する方法を学習します。 説明: PHP では、empty() 関数を使用して、変数が空であるとみなされるかどうかを確認します。

empty() は、変数が次の値と等しい場合にその変数が空であるとみなします:


    ""(空の文字列)
  • 0 (整数としての 0)
  • 0.0 (浮動小数点数としての 0)
  • ## 「0 」(文字列としての 0)
  • NULL
  • FALSE
  • Array()(空の配列)
  • $var (宣言されていますが、値を持つ変数はありません)
メソッド2. 使用 array_filter() 関数はフィルタリングを実行します。

array_filter() 関数は、コールバック関数を使用して配列内の要素をフィルタリングできます。この関数は配列内の各値を反復処理し、それらの値をユーザー定義関数またはコールバック関数に渡します。 コールバック関数を省略した場合、デフォルトで null 値がフィルタリングされます。

(array_filter() 関数は元の配列を変更しません)

<?php 
header("content-type:text/html;charset=utf-8");
$array = array("php", 11, &#39;&#39;, 12, "PHP中文网", &#39;&#39;,2021,"mysql",""); 
var_dump($array);       
 
// 使用array_filter()函数从数组中移除空元素
$filtered_array = array_filter($array); 
echo "删除空元素后的数组";
var_dump($filtered_array); 
?>
ログイン後にコピー
出力結果:

array_filter() がフィルタリングしていることがわかります配列要素のインデックスはリセットされません。空の要素を削除した後も、元のインデックスの順序が維持されます。 PHP 配列から空白要素または重複要素を削除する方法を学習します。

では、インデックスをリセットして 0 から並べ替えたい場合は、どうすればよいでしょうか?

array_values()

関数を使用できます。

var_dump(array_values($filtered_array));
ログイン後にコピー

とても簡単ですね! PHP 配列から空白要素または重複要素を削除する方法を学習します。

上で空の要素を削除する方法を学びました。

重複した配列要素を削除する方法

を見てみましょう。

PHP 配列内の重複した配列を削除するために、他の方法に頼る必要はありません。PHP には、この操作を実現するための組み込み関数があります。この関数が何であるかご存知ですか?

わかりました。もう大騒ぎする必要はありません。これは

array_unique()

関数です。配列内に同じ値が 2 つ以上ある場合、array_unique() 関数は最初の値のみを保持し、他の値は削除されます。

<?php 
header("content-type:text/html;charset=utf-8");
$array = array("php", 11, &#39;&#39;, 11, "PHP中文网",&#39;&#39;,"green",2021,"mysql","","green"); 
var_dump($array);       
 
$result = array_unique($array);
echo "删除重复元素后的数组";
//var_dump(array_values($filtered_array)); 
var_dump($result);
?>
ログイン後にコピー
出力結果:

array_unique() 関数はキー名 (インデックス) をリセットせず、保持される配列は最初の配列のままになります。アイテムの種類。したがって、array_unique() 関数を使用して重複要素を削除した後、array_values() 関数を使用してインデックスをリセットできます。 PHP 配列から空白要素または重複要素を削除する方法を学習します。

var_dump(array_values($result));
ログイン後にコピー

実際、配列内に重複するキー名がないという機能を利用して、重複する配列要素を削除することもできます。 PHP 配列から空白要素または重複要素を削除する方法を学習します。

実装アイデア: まずキー名とキー値を交換して重複値を削除し、次にキー名とキー値を再度交換します (「

PHP 配列の学習: キー名の変更方法」を読むことをお勧めします)キーと値の位置が入れ替わります

》)。キー コード:

array_flip(array_flip($array))
ログイン後にコピー
わかりました。他に知りたいことがあれば、これをクリックしてください。 → →php ビデオ チュートリアル

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。PHP 関数 配列 配列関数のビデオ説明

、ぜひ学んでください。

以上がPHP 配列から空白要素または重複要素を削除する方法を学習します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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