Server IP : 104.21.14.103 / Your IP : 3.15.138.89 Web Server : LiteSpeed System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : giankuin ( 1871) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/home/giankuin/sieuthiweb.com.vn/wp-content/plugins/woocommerce/vendor/pelago/emogrifier/src/Emogrifier/Utilities/ |
Upload File : |
<?php namespace Pelago\Emogrifier\Utilities; /** * When computing many array intersections using the same array, it is more efficient to use `array_flip()` first and * then `array_intersect_key()`, than `array_intersect()`. See the discussion at * {@link https://stackoverflow.com/questions/6329211/php-array-intersect-efficiency Stack Overflow} for more * information. * * Of course, this is only possible if the arrays contain integer or string values, and either don't contain duplicates, * or that fact that duplicates will be removed does not matter. * * This class takes care of the detail. * * @internal * * @author Jake Hotson <[email protected]> */ class ArrayIntersector { /** * the array with which the object was constructed, with all its keys exchanged with their associated values * * @var (int|string)[] */ private $invertedArray; /** * Constructs the object with the array that will be reused for many intersection computations. * * @param (int|string)[] $array */ public function __construct(array $array) { $this->invertedArray = \array_flip($array); } /** * Computes the intersection of `$array` and the array with which this object was constructed. * * @param (int|string)[] $array * * @return (int|string)[] Returns an array containing all of the values in `$array` whose values exist in the array * with which this object was constructed. Note that keys are preserved, order is maintained, but * duplicates are removed. */ public function intersectWith(array $array) { $invertedArray = \array_flip($array); $invertedIntersection = \array_intersect_key($invertedArray, $this->invertedArray); return \array_flip($invertedIntersection); } }