note 63775 deleted from function.array-keys by bjori
| From: | bjori@php.net | Date: | Thu, 30 Mar 2006 13:23:39 +0000 |
| Subject: | note 63775 deleted from function.array-keys by bjori | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-107029@lists.php.net to get a copy of this message | ||
Note Submitter: vorozhko at gmail dot com
Reason: bad code
----
Function search key path in multiarray
[php]
//ÐоиÑк клÑÑа в многомеÑном
маÑÑиве:
<?php $arvore = array();
$arvore['1'] = array();
$arvore['1']['1.1'] = array('1.1.1', '1.1.2',
'1.1.3');
$arvore['1']['1.2'] = array('1.2.1', '1.2.2',
'1.2.3');
$arvore['1']['1.3'] = array('1.3.1', '1.3.2',
'1.3.3');
$arvore['2'] = array();
$arvore['2']['2.1'] = array('2.1.1', '2.1.2',
'2.1.3');
$arvore['2']['2.2'] = array('2.2.1', '2.2.2',
'2.2.3');
$arvore['2']['2.3'] = array('2.3.1', '2.3.2',
'2.3.3');
$arvore['3'] = array();
$arvore['3']['3.1'] = array('3.1.1', '3.1.2',
'3.1.3');
$arvore['3']['3.2'] = array('3.2.1', '3.2.2',
'3.2.3');
$arvore['3']['3.3'] = array('3.3.1',
'3.3.2'=>array('3.3.2.1', '3.3.2.2'), '3.3.3');
var_dump($arvore);
$key = array();
$key = multi_search_key("3.3.2.2", $arvore);
print_r($key);
function multi_search_key($needle, $haystack, $strict=false) {
$key = array();
if(!is_array($haystack)) return NULL;
foreach($haystack as $k => $v) {
if (is_array($v))
{
$ret = multi_search_key($needle, $v, $strict);
if ($ret !== false)
{
$key[$k] = $ret;
return $key;
}
}
if (!is_array($v))
{
if ($v == $needle)
{
return $k;
}
}
}
return false;
}
[/php]