ホームページ >バックエンド開発 >PHPの問題 >PHPで配列内の同一のキー名を削除する方法

PHPで配列内の同一のキー名を削除する方法

PHPz
PHPzオリジナル
2023-04-25 10:42:59545ブラウズ

PHP プログラミングでは、配列は一般的に使用されるデータ構造であり、同じタイプのデータのグループを格納するためによく使用されます。配列は、各要素が特定のキーを持つインデックス付きリストです。ただし、通常は、配列内の同じキー名を削除する必要が生じることがあります。この記事では、PHPで配列内の同じキー名を削除する方法を紹介します。

方法 1: array_unique 関数を使用する

array_unique() 関数は、配列内の重複した値を削除し、新しい配列を返すことができます。同じキー名を持つ要素を削除する必要がある場合は、まず array_values() を使用して新しいインデックス配列を取得し、次に array_unique() 関数を使用して重複を削除し、最後に array_combine() 関数を使用してキー名を再結合します。と値を新しい連想配列に格納します。

サンプル コードは次のとおりです:

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

$new_array = array_values(array_unique($original_array));
$result_array = array_combine(range(1, count($new_array)), $new_array);

print_r($result_array);

上記のコードは次の結果を出力します:

Array
(
    [1] => 001
    [2] => John
    [3] => male
    [4] => New York
    [5] => female
)

方法 2: foreach ループを使用します

If we重複したキー名を持つ要素を重複排除して最後の要素を保持するには、foreach ループを使用して配列を走査し、キー名を比較して重複した要素を見つけてから、unset() 関数を使用して重複した要素を削除します。 。

サンプル コードは次のとおりです:

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

foreach ($original_array as $key => $value) {
  $duplicated_key = array_keys($original_array, $value);
  if (count($duplicated_key) > 1) {
    unset($original_array[$duplicated_key[0]]);
  }
}

print_r($original_array);

上記のコードは次の結果を出力します:

Array
(
    [name] => John
    [gender] => female
    [city] => New York
)

上記のコードは連続した重複キー名のみを削除できることに注意してください。重複するキー名をすべて削除したい場合は、foreach ループを while ループに変更し、削除された要素のキー名が繰り返されなくなるまで内部で unset() 操作を実行します。

要約すると、PHP の array_unique() 関数または foreach ループを使用して、配列内の同じキー名を削除できます。特定のシナリオでは、実際の状況に基づいて適切な方法を選択する必要があります。

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

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