ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して同じ配列内の要素をクエリする方法

PHP を使用して同じ配列内の要素をクエリする方法

PHPz
PHPzオリジナル
2023-04-23 10:22:18808ブラウズ

PHP はオブジェクト指向のサーバー側スクリプト言語であり、サーバー側 Web アプリケーションの開発に非常に適しています。配列は、複数の値をグループ化して 1 つの変数として参照および操作できるようにする、PHP の非常に重要なデータ型です。配列を使用するプロセスでは、同じ配列内の要素をクエリする必要がある場合がよくありますが、この記事では、PHP を使用して同じ配列内の要素をクエリする方法を紹介します。

1. ループ トラバーサルを使用してクエリを実行する

PHP には、配列内の要素をトラバースしてクエリ操作を実行するために使用できるさまざまなループ ステートメントが用意されています。ここでは、一般的に使用される 2 つのループ ステートメントを紹介します。

1.1 for ループ

for ループは、配列内の要素を走査するために使用できる一般的に使用されるループ ステートメントです。以下は、for ループを使用して同じ配列内の要素をクエリするサンプル コードです。

<?php
$array = array(1, 2, 3, 4, 1, 3);
$len = count($array);
for ($i = 0; $i < $len; $i++) {
    for ($j = $i + 1; $j < $len; $j++) {
        if ($array[$i] == $array[$j]) {
            echo "相同的元素为:".$array[$i]."<br />";
        }
    }
}
?>

上記のコードでは、最初に繰り返し要素を含む配列を定義します $array 次に、 for ループを使用する 配列内のすべての要素を反復処理し、各要素に対して再度 for ループを使用して、それと同じ要素を見つけます。同じ要素が見つかった場合は、その要素が出力されます。

1.2 foreach ループ

foreach ループは一般的に使用されるループ ステートメントでもあり、配列内の要素を走査してクエリ操作を実行するために使用できます。以下は、foreach ループを使用して同じ配列内の要素をクエリするサンプル コードです。

<?php
$array = array(1, 2, 3, 4, 1, 3);
$count = array_count_values($array);
foreach ($count as $key => $value) {
    if ($value > 1) {
        echo "相同的元素为:".$key."<br />";
    }
}
?>

上記のコードでは、最初に繰り返し要素を含む配列 $array を定義し、次にPHP 組み込み関数 array_count_values を使用して、配列内の各要素の出現数をカウントし、統計結果を連想配列 $count に保存します。最後に、foreach ループを使用して $count 配列を走査し、出現回数が 1 より大きいかどうかを判断します。1 より大きい場合、要素が出力されます。

2. PHP 組み込み関数クエリを使用する

PHP には、同じ配列内の要素をクエリするために使用できる複数の組み込み関数があります。以下では、一般的に使用される 2 つの関数を紹介します。 :

2.1 array_count_values

array_count_values 関数を使用すると、配列内の各要素の出現数をカウントし、統計結果を連想配列に保存できます。以下は、array_count_values 関数を使用して同じ配列内の要素をクエリするサンプル コードです。

<?php
$array = array(1, 2, 3, 4, 1, 3);
$count = array_count_values($array);
foreach ($count as $key => $value) {
    if ($value > 1) {
        echo "相同的元素为:".$key."<br />";
    }
}
?>

上記のコードでは、最初に繰り返し要素を含む配列を定義します $array,次に、PHP 組み込み関数 array_count_values を使用して、配列内の各要素の出現数をカウントし、統計結果を連想配列 $count に保存します。最後に、foreach ループを使用して $count 配列を走査し、出現回数が 1 より大きいかどうかを判断します。1 より大きい場合、要素が出力されます。

2.2 array_unique、array_diff_assoc、array_diff_key

array_unique 関数を使用すると、配列から重複要素を削除し、重複要素を削除した後の配列を返すことができます。 array_diff_assoc 関数と array_diff_key 関数を使用すると、2 つの配列間の差異を比較し、異なる要素を返すことができます。これらの関数を使用すると、同じ配列内の要素をクエリすることもできます。以下はサンプル コードです:

<?php
$array = array(1, 2, 3, 4, 1, 3);
$unique = array_unique($array);
$diff = array_diff_assoc($array, $unique);
foreach ($diff as $key => $value) {
    echo "相同的元素为:".$value."<br />";
}
?>

上記のコードでは、最初に繰り返し要素を含む配列を定義します$array次に、array_unique 関数を使用して配列内の重複要素を削除し、結果を $unique 変数に保存します。次に、array_diff_assoc 関数を使用して 2 つの配列の差を比較し、異なる要素を $diff 変数に保存します。最後に、foreach を使用して $diff 配列をループし、同じ要素を出力します。

概要

上記は、PHP で同じ配列内の要素をクエリする方法ですが、この関数はループ ステートメントや組み込み関数などのメソッドを使用して簡単に実装できます。実際の開発では、クエリ操作に適した方法を選択できます。同時に、要素の繰り返しはプログラムのパフォーマンスに影響を与える可能性があることに注意する必要があります。そのため、実際の開発では、配列内で要素の繰り返しを避けるように努める必要があります。

以上がPHP を使用して同じ配列内の要素をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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