use recursive calls to fetch them all in one array and there will be memory
cost.
refer array_keys function: http://php.net/manual/en/function.array-keys.php
not sure but this should be working.
function *get_keys_recursive*($arr) {
while (list($k, $v) = each($arr)) {
if (is_array($v) === true) {
return array_keys(array_merge($v,* get_array_keys*($v)));
} else {
return array_keys($k);
}
}
}
On Thu, Jun 23, 2011 at 11:17 PM, Scott Baker bak...@canbytel.com wrote:
I have a multi-tier hash (see below) and I'd like to be search the
hash for a given $id, and return that section, regardless of how many
layers deep it is. Sort of like how xpath works?
Once I have that I'd like get ALL the children of a given node. So I
could ask for 86, and get 36, 38, 56, etc and all THEIR children.
Basically I want *all* the ID #s that are children.
Array
(
[88] = Array
(
[109] =
)
[86] = Array
(
[36] = Array
(
[8] =
[121] =
[127] =
[135] =
[144] =
[161] =
[165] =
)
[38] = Array
(
[18] =
[39] =
[156] =
[158] =
[182] =
)
[56] =
[97] =
[107] = Array
(
[240] =
)
[115] =
[123] =
[146] =
[149] =
[223] =
)
[157] = Array
(
[3] = Array
(
[5] = Array
(
[11] =
)
[13] = Array
(
[6] =
[7] =
[98] = Array
(
[81] =
)
)
[111] = Array
(
[10] =
[17] =
[110] =
)
)
[148] = Array
(
[9] =
[87] =
[102] =
[104] =
[114] =
[130] =
[133] =
[160] =
[201] =
[237] =
[238] =
)
)
)
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php