PHPでは、アレイは非常に重要なデータ構造であり、複数のデータを保存するためによく使用されます。配列から一意の値を取得する必要があるときに選択する方法はたくさんあります。一般的なトリックは、array_flip()とarray_keys()を組み合わせて機能させることです。これら2つの機能の組み合わせは、アレイ内の一意の値のリストを効率的に取得するのに役立ちます。
array_flip()関数は、配列のキーと値を交換します。これを行うと、配列の値が配列のキーになり、元のキーが値になります。配列に重複した値がある場合、配列のキーが一意であるため、重複した値が破棄されます。
array_keys()関数は、配列内のすべてのキーに対応する値を取得するために使用されます。特定の値を指定することにより、値に対応するすべてのキーを取得するか、配列全体のすべてのキーを直接取得できます。
配列から一意の値を取得するには、 array_flip()を使用して配列を反転し、値をキーとして使用し、複製を削除できます。次に、 array_keys()を使用して、すべての一意の値を取得します。これが例です:
<?php
// オリジナル配列
$array = array("apple", "banana", "apple", "orange", "banana", "grape");
// 使用 array_flip() 配列を反転します,重複した値を削除します
$flippedArray = array_flip($array);
// 使用 array_keys() 一意の値のリストを取得します
$uniqueValues = array_keys($flippedArray);
// 出力結果
print_r($uniqueValues);
?>
まず、重複した値を含む配列$配列を作成します。
array_flip()を使用して配列を反転して、配列内の値が配列のキーになるようにします。重複した値は破棄されます。
次に、 array_keys()を使用して、逆配列からキー、つまり一意の値を抽出します。
最後に、一意の値の配列を印刷します。
上記のコードを実行した後、出力は次のとおりです。
Array
(
[0] => apple
[1] => banana
[2] => orange
[3] => grape
)
この方法により、元の配列から一意の値を正常に抽出します。
複数のURLを備えた配列があり、一意のURLのリストを取得するとします。 Array_flip()とarray_keys()を使用して実装する方法は次のとおりです。
<?php
// 複製を含めます URL の配列
$urls = array(
"http://example.com",
"http://m66.net",
"http://example.com",
"http://m66.net",
"http://m66.net/another-page",
"http://example.com/page"
);
// 使用 array_flip() 配列を反転します,複製を削除します URL
$flippedUrls = array_flip($urls);
// 使用 array_keys() ユニークを取得します URL リスト
$uniqueUrls = array_keys($flippedUrls);
// 出力結果
print_r($uniqueUrls);
?>
Array
(
[0] => http://example.com
[1] => http://m66.net
[2] => http://m66.net/another-page
[3] => http://example.com/page
)
array_flip()とarray_keys()を組み合わせることにより、PHPアレイから一意の値のリストを簡単に抽出できます。この方法は効率的かつ簡潔であり、複製データが必要な状況に非常に適しています。重複排除は、特にURLまたはその他の重複した値の配列について、2つの単純な関数呼び出しで達成できますが、これは非常に明白です。
この記事が、これらの2つの機能を使用して一意の値を取得する方法をよりよく理解するのに役立つことを願っています。ご質問がある場合は、メッセージを残して議論してください!