請注意,array_intersect 和 array_unique 無法有效處理多維陣列。
例如,如果您有
<?php
$orders_today[0] = array('John Doe', 'PHP Book');
$orders_today[1] = array('Jack Smith', 'Coke');
$orders_yesterday[0] = array('Miranda Jones', 'Digital Watch');
$orders_yesterday[1] = array('John Doe', 'PHP Book');
$orders_yesterday[2] = array('Z? da Silva', 'BMW Car');
?>
如果您想知道今天和昨天是否有人購買了相同的商品,並且使用 array_intersect($orders_today, $orders_yesterday),您會得到以下結果:
<?php
Array
(
[0] => Array
(
[0] => John Doe
[1] => PHP Book
)
[1] => Array
(
[0] => Jack Smith
[1] => Coke
)
)
?>
但我們可以透過序列化內部陣列來解決這個問題
<?php
$orders_today[0] = serialize(array('John Doe', 'PHP Book'));
$orders_today[1] = serialize(array('Jack Smith', 'Coke'));
$orders_yesterday[0] = serialize(array('Miranda Jones', 'Digital Watch'));
$orders_yesterday[1] = serialize(array('John Doe', 'PHP Book'));
$orders_yesterday[2] = serialize(array('Z? da Silva', 'Uncle Tungsten'));
?>
這樣 array_map("unserialize", array_intersect($orders_today, $orders_yesterday)) 將會返回
<?php
Array
(
[0] => Array
(
[0] => John Doe
[1] => PHP Book
)
)
?>
顯示今天和昨天購買相同商品的人 =)
[]s