note 63775 deleted from function.array-keys by bjori

From: 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]

« previous php.notes (#107029) next »