note 106107 modified in function.array-search by danbrown
| From: | danbrown@php.net | 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