PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.0
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.0
4.17.2 4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / third-party / vendor / pelago / emogrifier / src / Utilities / ArrayIntersector.php
wp-user-avatar / third-party / vendor / pelago / emogrifier / src / Utilities Last commit date
ArrayIntersector.php 2 months ago CssConcatenator.php 2 months ago
ArrayIntersector.php
53 lines
1 <?php
2
3 declare (strict_types=1);
4 namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
5
6 /**
7 * When computing many array intersections using the same array, it is more efficient to use `array_flip()` first and
8 * then `array_intersect_key()`, than `array_intersect()`. See the discussion at
9 * {@link https://stackoverflow.com/questions/6329211/php-array-intersect-efficiency Stack Overflow} for more
10 * information.
11 *
12 * Of course, this is only possible if the arrays contain integer or string values, and either don't contain duplicates,
13 * or that fact that duplicates will be removed does not matter.
14 *
15 * This class takes care of the detail.
16 *
17 * @internal
18 */
19 class ArrayIntersector
20 {
21 /**
22 * the array with which the object was constructed, with all its keys exchanged with their associated values
23 *
24 * @var array<array-key, array-key>
25 */
26 private $invertedArray;
27 /**
28 * Constructs the object with the array that will be reused for many intersection computations.
29 *
30 * @param array<array-key, array-key> $array
31 */
32 public function __construct(array $array)
33 {
34 $this->invertedArray = \array_flip($array);
35 }
36 /**
37 * Computes the intersection of `$array` and the array with which this object was constructed.
38 *
39 * @param array<array-key, array-key> $array
40 *
41 * @return array<array-key, array-key>
42 * Returns an array containing all of the values in `$array` whose values exist in the array
43 * with which this object was constructed. Note that keys are preserved, order is maintained, but
44 * duplicates are removed.
45 */
46 public function intersectWith(array $array): array
47 {
48 $invertedArray = \array_flip($array);
49 $invertedIntersection = \array_intersect_key($invertedArray, $this->invertedArray);
50 return \array_flip($invertedIntersection);
51 }
52 }
53