It works like a charm.
Thanks, Andrej
Tim | iHostNZ wrote:
I know there must be a more elegant way with array_reduce or something, but
I would simply write a function called
function array_intersect_m($m_array) {
$intersection = $m_array[0];
for ($i=1; $i < count($m_array); $i++) {
$intersection = array_intersect($m_array[$i], $intersection);
}
return $intersection;
}
and put that into my library. O and while i'm at it, the array_reduce
way would prob be:
$m_array =
array(array("green","red","blue"),array("green","yellow","red"),array("green","red","purple"),array("green","red","yellow"));
array_reduce($m_array, 'array_intersect');
but this could be wrong, havent done much with these 'meta' functions.
Regards,
Tim
On Tue, Dec 2, 2008 at 10:24 PM, Andrej Kastrin
<andrej.kastrin@xxxxxxxxx <mailto:andrej.kastrin@xxxxxxxxx>> wrote:
Dear all,
I have to perform an intersection on array of arrays. The fact is
that php does not support intersection on multidimensional arrays.
So, the first simple example using only one dimensional arrays works
well:
$array1 = array("green", "red", "blue");
$array2 = array("green", "yellow", "red");
$array3 = array("green", "red", "purple");
$array4 = array("green","red","yellow");
$result = array_intersect($array1,$array2,$array3,$array4);
print_r($result);
And the result is: Array ( [0] => green [1] => red )
The question is how to perform intersection on the following structure:
$products =
array(array("green","red","blue"),array("green","yellow","red"),array("green","red","purple"),array("green","red","yellow"));
Thanks in advance for any suggestions.
Best, Andrej
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
Tim-Hinnerk Heuer
http://www.ihostnz.com -- Web Design, Hosting and free Linux Support
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php