codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
<?php $data = array( 135 => array( 150 => array( 151 => array( 1 => array(), 153 => array(), ), 1 => array( 1 => array(), 2 => array(), ), ), 1 => array( 1 => array( 1 => array(), 2 => array(), ), 2 => array( 1 => array(), 2 => array(), ), ), ), ); /** * traverse array and * add parent key to children key * * @param array $a (return) * @param int $p (optional) parent key */ function changeKeys(array &$a, $p = null) { static $f = __FUNCTION__; foreach($a as $k => &$v) { # test if already processed if (is_string($k)) return; # traverse children if children exists if ($v) $f($v, $k); # rename key if parent exists if ($p) { $a["$k|$p"] = &$v; unset($a[$k]); } } } changeKeys($data); print_r($data);
Private
[
?
]
Run code
Submit