note 106107 modified in function.array-search by danbrown

From: Date: Tue, 11 Oct 2011 16:00:43 +0000
Subject: note 106107 modified in function.array-search by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-183794@lists.php.net to get a copy of this message
Better solution of multidimensional searching. <?php function multidimensional_search($parents, $searched) { if (empty($searched) || empty($parents)) { return false; } foreach ($parents as $key => $value) { $exists = true; foreach ($searched as $skey => $svalue) { $exists = ($exists && IsSet($parents[$key][$skey]) && $parents[$key][$skey] == $svalue); } if($exists){ return $key; } } return false; } $parents = array(); $parents[] = array('date'=>1320883200, 'uid'=>3); $parents[] = array('date'=>1320883200, 'uid'=>5); $parents[] = array('date'=>1318204800, 'uid'=>5); echo multidimensional_search($parents, array('date'=>1320883200, 'uid'=>5)); // 1 ?> --was-- Better solution of multidimensional searching. function multidimensional_search($parents, $searched) { if (empty($searched) || empty($parents)) { return false; } foreach ($parents as $key => $value) { $exists = true; foreach ($searched as $skey => $svalue) { $exists = ($exists && IsSet($parents[$key][$skey]) && $parents[$key][$skey] == $svalue); } if($exists){ return $key; } } return false; } $parents = array(); $parents[] = array('date'=>1320883200, 'uid'=>3); $parents[] = array('date'=>1320883200, 'uid'=>5); $parents[] = array('date'=>1318204800, 'uid'=>5); echo multidimensional_search($parents, array('date'=>1320883200, 'uid'=>5)); // 1 http://php.net/manual/en/function.array-search.php

« previous php.notes (#183794) next »