PHP では、配列の交差と共用体はビット単位の演算子を使用して効率的に計算できます。 交差: ビット単位の AND 演算子 (&) を使用すると、共存する要素が交差になります。ユニオン: ビットごとの OR 演算子 (|) を使用すると、ユニオンにはすべての要素が含まれます。
PHP でビット単位の演算を使用して、配列の共通部分と和集合をすばやく計算します。
ビット単位の演算子は、配列の実装を提供します。 PHP 交差と結合のための効率的なメソッド。これらの演算子は数値をビットごとに操作し、バイナリ ビット レベルで配列値を比較できるようにします。
Intersection
交差には、両方の配列に現れる要素が含まれています。ビット単位の AND 演算子 &
を使用して交差部分を計算できます。
<?php $array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $intersection = array_intersect_bitwise($array1, $array2); var_dump($intersection); // 输出: [3, 4, 5] ?>
Union
union には、両方の配列のすべての要素が含まれます。ビット単位の OR 演算子 |
を使用して和集合を計算できます。
<?php $array1 = [1, 2, 3, 4, 5]; $array2 = [3, 4, 5, 6, 7]; $union = array_union_bitwise($array1, $array2); var_dump($union); // 输出: [1, 2, 3, 4, 5, 6, 7] ?>
実際のケース: ユーザーが訪問したページを計算します
次のように仮定します。ユーザーが訪問したページを含む配列があります:
<?php $userPages = [ 'Home', 'About', 'Contact' ]; $adminPages = [ 'Dashboard', 'Users', 'Settings', 'About' ]; ?>
ビット単位の演算を使用して、ユーザーと管理者の両方が訪問したページをすばやく見つけることができます:
<?php $intersection = array_intersect_bitwise($userPages, $adminPages); var_dump($intersection); // 输出: ['About'] ?>
以上がPHP のビット演算を使用して配列の交差部分と和集合をすばやく計算するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。