【发布时间】:2011-03-20 06:17:51
【问题描述】:
我有一个数组,它的维度可以变化,有时可能很小,有时可能更深。我正在尝试在数组中搜索特定元素,如果找到,我想获得一个特定的父元素。例如,如果我有一个数组:
同样,维度可以改变,但是,我正在寻找具有兄弟姐妹的最外层父母的 key。 (在这种情况下)
Array (
[0] => Array (
[0] => Array (
[0] => Array ( <<----------------------------------------+
[0] => FOO0 |
[1] => BAR0 //Search BAR0 returns parent key 0 +
[2] => Array( |
[0] => HELLO0 |
[1] => BYE0 //Search BYE0 returns parent key 0 +
) |
[3] => FOO0 |
[4] => Array ( |
[0] => HELLO0 //Search HELLO0 returns parent key 0 --
)
)
[1] => Array ( <<----------------------------------------+
[0] => FOO1 |
[1] => BAR1 |
[2] => Array ( |
[0] => HELLO1 |
[1] => BYE1 |
) |
[3] => BASE1 |
[4] => Array ( |
[0] => BAZ1 |
[1] => Array ( |
[0] => DOO1 //Search DOO1 returns parent key 1 +
[1] => BOB2 //Search BOB2 returns parent key 1 +
)
)
)
[2] => FOO2 // Search FOO2 returns key 2 (itself)
)
)
)
FOO2 的示例输出
[2] => FOO2 // searched value
非常感谢您的帮助!谢谢!
【问题讨论】:
-
key是什么意思?您期望获得的价值是多少?密钥只是一个像 0 或 1 这样的整数......据我所知,它不会很有用。
-
@konforce:如果我能获得该特定父键的所有子元素,同时保留理想的键。
-
其实键值会非常有用。获取键值将是理想的,因为我可以将它提供给另一个例程。
-
@Tetsuya,您能否编辑您的问题并添加您想要作为数组转储返回的确切内容(与原始数组的格式相同)以用于
HELLO0和FOO2的查询? -
@konforce:我已经更新了帖子。感谢您的帮助!