note 79483 added to function.array-diff-key

From: Date: Thu, 29 Nov 2007 13:56:21 +0000
Subject: note 79483 added to function.array-diff-key
Groups: php.notes 
Request: Send a blank email to php-notes+get-132663@lists.php.net to get a copy of this message
The recursive function suggested by '2ge at 2ge dot us' will provide you with empty arrays if there's no diff. This variant of the function cleans up empty arrays and fixes a bug in the first suggested version. It works 100% . <?php function array_diff_key_recursive ($a1, $a2) { foreach($a1 as $k => $v) { //$r[$k] = is_array($v) ? $this->array_diff_key_recursive($a1[$k], $a2[$k]) : array_diff_key($a1, $a2); if (is_array($v)) { $r[$k]=$this->array_diff_key_recursive($a1[$k], $a2[$k]); }else { $r=array_diff_key($a1, $a2); } if (is_array($r[$k]) && count($r[$k])==0) { unset($r[$k]); } } return $r; } ?> ---- Server IP: 69.147.83.197 Probable Submitter: 79.120.28.249 ---- Manual Page -- http://www.php.net/manual/en/function.array-diff-key.php Edit -- https://master.php.net/note/edit/79483 Del: integrated -- https://master.php.net/note/delete/79483/integrated Del: useless -- https://master.php.net/note/delete/79483/useless Del: bad code -- https://master.php.net/note/delete/79483/bad+code Del: spam -- https://master.php.net/note/delete/79483/spam Del: non-english -- https://master.php.net/note/delete/79483/non-english Del: in docs -- https://master.php.net/note/delete/79483/in+docs Del: other reasons-- https://master.php.net/note/delete/79483 Reject -- https://master.php.net/note/reject/79483 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#132663) next »