note 63775 added to function.array-keys

From: Date: Thu, 30 Mar 2006 12:51:02 +0000
Subject: note 63775 added to function.array-keys
Groups: php.notes 
Request: Send a blank email to php-notes+get-107025@lists.php.net to get a copy of this message
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] ---- Server IP: 195.248.191.91 Probable Submitter: 212.109.32.7 (proxied: 85.202.234.91, 212.109.44.30) ---- X-Spam-Status: No, hits=3.1 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER autolearn=no version=2.64 ---- Manual Page -- http://www.php.net/manual/en/function.array-keys.php Edit -- http://master.php.net/note/edit/63775 Del: integrated -- http://master.php.net/note/delete/63775/integrated Del: useless -- http://master.php.net/note/delete/63775/useless Del: bad code -- http://master.php.net/note/delete/63775/bad+code Del: spam -- http://master.php.net/note/delete/63775/spam Del: non-english -- http://master.php.net/note/delete/63775/non-english Del: in docs -- http://master.php.net/note/delete/63775/in+docs Del: other reasons-- http://master.php.net/note/delete/63775 Reject -- http://master.php.net/note/reject/63775 Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#107025) next »