Is there anyway to compare arrays in php using an inbuilt function, short of doing some sort of loop?
$a1 = array(1,2,3);
$a2 = array(1,2,3);
if (array_are_
If you want to search some array inside a big array of arrays (>10k) then much more quickly is comparing serialized arrays (saved in cache). Example from work with URL:
/**
@return array
*/
function createCache()
{
$cache = [];
foreach ($this->listOfUrl() as $url => $args)
{
ksort($args);
$cache['url'][$url] = $args;
$cache['arr'][crc32(serialize($args))] = $url;
}
return $cache;
}
/**
@param array $args
@return string
*/
function searchUrl($args)
{
ksort($params);
$crc = crc32(serialize($params));
return isset($this->cache['arr'][$crc]) ? $this->cache['arr'][$crc] : NULL;
}
/**
@param string $url
@return array
*/
function searchArgs($url)
{
return isset($this->cache['url'][$url]) ? $this->cache['url'][$url] : NULL;
}