ホームページ  >  記事  >  バックエンド開発  >  PHPで配列内の同じ要素を削除する方法

PHPで配列内の同じ要素を削除する方法

PHPz
PHPzオリジナル
2023-04-25 17:36:23837ブラウズ

Web 開発では、配列操作は非常に一般的で不可欠なスキルです。 PHP で配列を操作するには、配列の要素の追加、変更、削除など、さまざまな方法があります。この記事では、PHP 配列操作の 1 つを使用して同一の要素を削除する方法に焦点を当てます。

配列内の同じ要素は通常、コード ロジックに悪影響を及ぼします。たとえば、データが重複するとコードの実行が非効率になります。幸いなことに、PHP はこの問題に対する解決策を提供します。

まず、PHP で配列内の同一の要素を削除するいくつかの方法を見てみましょう。

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

array_unique 関数は、配列から重複する値を削除するために使用される PHP のパッケージ化関数です。この関数は、元の配列の一意の値のみを含む新しい配列を返します。具体的な使用方法は次のとおりです。

$array = array('东京', '纽约', '上海', '纽约');
$array = array_unique($array);
print_r($array);

出力結果:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

方法 2: for ループを使用する

for ループを使用して配列を走査し、各要素がその要素であるかどうかを比較します。前の要素と同じ、同じ場合は要素を削除します。具体的なコードは次のとおりです。

$array = array('东京', '纽约', '上海', '纽约');
for ($i = 0; $i < count($array); $i++) {
    for ($j = $i + 1; $j < count($array); $j++) {
        if ($array[$i] == $array[$j]) {
            array_splice($array, $j, 1);
            $j--;
        }
    }
}
print_r($array);

出力結果:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

方法 3: array_flip 関数と array_keys 関数を使用する

array_flip 関数は、キーと値を交換できます。配列、および array_keys 関数 配列内のすべてのキーを返すことができます。これら 2 つの関数を組み合わせると、配列から重複した要素を簡単に削除できます。

具体的なコードは次のとおりです:

$array = array('东京', '纽约', '上海', '纽约');
$array = array_flip($array);
$array = array_keys($array);
print_r($array);

出力結果:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

上記の 3 つのメソッドはいずれも配列内の同じ要素を削除する操作を実現できますが、それぞれの実装方法は異なりますが、それぞれ異なります。どの方法が開発シナリオに適しているかは、状況によって異なります。

配列内の同じ要素を削除する操作は、必ずしも PHP が提供する関数を使用する必要はなく、独自のコードを記述してこの操作を実現できる場合もあります。以下に例を示します。

方法 4: 独自の削除関数を作成する

function delSameValue(array $array) {
    $result = array();
    foreach ($array as $value) {
        if (!in_array($value, $result)) {
            $result[] = $value;
        }
    }
    return $result;
}

$array = array('东京', '纽约', '上海', '纽约');
$array = delSameValue($array);
print_r($array);

出力結果:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

上記の方法は、同じ要素を削除するためのいくつかの方法にすぎません。さらに配列操作が必要で、PHP の他の関連関数やテクニックを引き続き学習する必要がある場合。同時に、配列を扱うときは、より良い実行効率とよりシンプルなコードを得るために、実際の状況に応じて問題を解決するための最適な方法を選択することに注意する必要があります。

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

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