note 46544 added to function.array-intersect

From: Date: Fri, 15 Oct 2004 00:34:20 +0000
Subject: note 46544 added to function.array-intersect
Groups: php.notes 
Request: Send a blank email to php-notes+get-78561@lists.php.net to get a copy of this message
Note that array_intersect and array_unique doesnt work well with multidimensional arrays. If you have, for example, <?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'); ?> and wants to know if the same person bought the same thing today and yesterday and use array_intersect($orders_today, $orders_yesterday) you'll get as result: <?php Array ( [0] => Array ( [0] => John Doe [1] => PHP Book ) [1] => Array ( [0] => Jack Smith [1] => Coke ) ) ?> but we can get around that by serializing the inner arrays: <?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')); ?> so that array_map("unserialize", array_intersect($orders_today, $orders_yesterday)) will return: <?php Array ( [0] => Array ( [0] => John Doe [1] => PHP Book ) ) ?> showing us who bought the same thing today and yesterday =) []s ---- Manual Page -- http://www.php.net/manual/en/function.array-intersect.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+46544 Delete -- http://master.php.net/manage/user-notes.php?action=delete+46544&report=yes Reason: bad code -- http://master.php.net/manage/user-notes.php?action=delete+46544&report=yes&reason=bad+code Reason: spam -- http://master.php.net/manage/user-notes.php?action=delete+46544&report=yes&reason=spam Reason: useless example -- http://master.php.net/manage/user-notes.php?action=delete+46544&report=yes&reason=useless+example Reason: contains commercial links -- http://master.php.net/manage/user-notes.php?action=delete+46544&report=yes&reason=contains+commercial+links Reason: useless note -- http://master.php.net/manage/user-notes.php?action=delete+46544&report=yes&reason=useless+note Reject -- http://master.php.net/manage/user-notes.php?action=reject+46544&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#78561) next »