ホームページ > バックエンド開発 > PHPの問題 > PHPで同じ配列を走査する方法

PHPで同じ配列を走査する方法

王林
リリース: 2023-05-07 13:35:07
オリジナル
618 人が閲覧しました

PHP では、配列の走査は非常に一般的な操作です。通常、このメソッドを使用して、配列内の要素を検索したり、配列を操作したり、配列内のすべての要素を出力したりします。場合によっては、他の操作を実行するために、同じ値を持つ要素を見つける必要があります。この記事では、PHP で同じ配列を走査する方法を詳しく説明します。

まず、PHP で配列を走査する 2 つの方法を見てみましょう:

  1. foreach ループ

foreach ループは、PHP で配列を走査する最も一般的な方法です。 PHP の基本的な構文構造は次のとおりです。

foreach (array_expression as $key => $value) {
  // code to be executed;
}
ログイン後にコピー
  • array_expression: 走査する配列
  • $key: キー現在の要素の値
  • $value: 現在の要素の値

foreach ループは配列内の各要素を順番に走査し、そのキーを割り当てます。値を $key$value に設定し、対応するコードを実行します。

簡単な例として、配列があります:

$arr = array(2, 4, 6, 8, 10);
ログイン後にコピー
ログイン後にコピー

foreach ループを使用してこの配列を走査し、各要素を出力します:

foreach ($arr as $value) {
  echo $value . "<br>";
}
ログイン後にコピー

出力は次のとおりです:

2
4
6
8
10
ログイン後にコピー
ログイン後にコピー
  1. for ループ

for ループは、通常の for ループと同様に、PHP で配列を走査する一般的な方法でもあります。基本的な構文構造は次のとおりです。

for ($i = 0; $i < count($array); $i++) {
  // code to be executed;
}
ログイン後にコピー
  • $array: 走査する配列
  • $i: のインデックス現在の要素

for ループは、count() 関数を使用して配列内の要素の数をカウントし、変数 $i## に格納します。 # そして、配列内の各要素を反復処理します。

簡単な例として、上記と同じ配列があります:

$arr = array(2, 4, 6, 8, 10);
ログイン後にコピー
ログイン後にコピー
for ループを使用してこの配列を走査し、各要素を出力します:

for ($i = 0; $i < count($arr); $i++) {
  echo $arr[$i] . "<br>";
}
ログイン後にコピー
出力は次のようになります。

2
4
6
8
10
ログイン後にコピー
ログイン後にコピー
上記は PHP で配列を走査する基本的な方法ですが、以下では同じ配列を走査する方法を紹介します。

    array_count_values() 関数を使用する
array_count_values() 関数は、配列内で同じ値を持つ要素を検索できます。その基本的な構文構造は次のとおりです。

array array_count_values ( array $array )
ログイン後にコピー
  • $array: 検出される配列
この関数は、元の配列内の各要素の出現数。簡単な例を挙げると、配列があります:

$arr = array(1, 2, 3, 4, 3, 2, 1, 5);
ログイン後にコピー
ログイン後にコピー
array_count_values() 関数を使用して同じ要素を検索します:

$newArr = array_count_values($arr);
print_r($newArr);
ログイン後にコピー
出力は次のとおりです:

Array
(
    [1] => 2
    [2] => 2
    [3] => 2
    [4] => 1
    [5] => 1
)
ログイン後にコピー
出力 Out からわかるように、新しい配列には元の配列内の各要素の出現回数が含まれており、そのうち要素 1、2、および 3 は 2 回現れ、要素 4 と 5 は 1 回だけ現れます。

    foreach ループの使用
配列内の同じ要素を反復処理するもう 1 つの方法は、foreach ループを使用することです。具体的なアイデアは、入れ子になった foreach ループを使用することで、配列要素を走査するたびに、その背後にある要素を走査し、それらの値が同じかどうかを比較します。簡単な例を挙げると、配列があります:

$arr = array(1, 2, 3, 4, 3, 2, 1, 5);
ログイン後にコピー
ログイン後にコピー
foreach ループを使用してこの配列を走査し、同じ要素を見つけます:

$sameArr = array();
foreach ($arr as $key1 => $value1) {
  foreach ($arr as $key2 => $value2) {
    if ($key1 < $key2 && $value1 == $value2) {
      $sameArr[] = $value1;
    }
  }
}
print_r($sameArr);
ログイン後にコピー

出力は次のとおりです:

Array
(
    [0] => 2
    [1] => 3
    [2] => 1
)
ログイン後にコピー
From 出力からわかるように、元の配列内の同じ要素 2、3、および 1 が見つかりました。実際、この方法は大きな配列を処理する場合にはより面倒で時間もかかるため、array_count_values() 関数を使用することをお勧めします。

上記は、PHP で同じ配列を走査する 2 つの方法です。お役に立てば幸いです。

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

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