【发布时间】:2015-02-03 10:39:49
【问题描述】:
我有一个反映网站结构的数组。我正在尝试根据我所处的级别执行 if 语句:
运行简单测试:
<?php if ($dirTree[0]){echo "level1";}?>
<?php if ($dirTree[1]){echo "level2";}?>
正确检查并返回级别,但由于 $dirTree[0] 存在于 $dirTree[1] 上,因此检查两个级别都会回显。
有没有办法只运行 if 语句来确定活动级别?
$dirTree 在第 2 层的内容(第 1 层和第 2 层回显):
Array
(
[0] => CategoryItem Object
(
[id] => 200139
[isCategory] => 1
[conceptID] => 200139
[preferred] => 1
[obsolete] =>
[type] =>
[addedInVersion] => 0.05
[lastUpdatedInVersion] => 0.05
[AToZ] =>
[name] => Council tax
[scopeNotes] =>
[historyNotes] => Added in 0.05
[broaderItems] => Array
(
)
[narrowerItems] => Array
(
[0] => ReferenceItem Object
(
[id] => 200180
[default] => 1
[type] => BROADERITEM
)
[1] => ReferenceItem Object
(
[id] => 200181
[default] => 1
[type] => BROADERITEM
)
[2] => ReferenceItem Object
(
[id] => 200182
[default] => 1
[type] => BROADERITEM
)
[3] => ReferenceItem Object
(
[id] => 200248
[default] => 1
[type] => BROADERITEM
)
[4] => ReferenceItem Object
(
[id] => 200249
[default] => 1
[type] => BROADERITEM
)
[5] => ReferenceItem Object
(
[id] => 200250
[default] => 1
[type] => BROADERITEM
)
[6] => ReferenceItem Object
(
[id] => 200251
[default] => 1
[type] => BROADERITEM
)
)
[relatedItems] => Array
(
)
[useItem] => -1
[shortcut] =>
)
[1] => CategoryItem Object
(
[id] => 200181
[isCategory] => 1
[conceptID] => 200139
[preferred] => 1
[obsolete] =>
[type] =>
[addedInVersion] => 0.05
[lastUpdatedInVersion] => 0.05
[AToZ] =>
[name] => Money off your bill
[scopeNotes] =>
[historyNotes] => Added in 0.05
[broaderItems] => Array
(
[0] => ReferenceItem Object
(
[id] => 200139
[default] => 1
[type] => BROADERITEM
)
)
[narrowerItems] => Array
(
)
[relatedItems] => Array
(
)
[useItem] => -1
[shortcut] =>
)
)
【问题讨论】:
-
如何确定哪个级别处于活动状态?
-
您能否详细介绍一下 $dirTree 的结构以及其中的内容?您提到它是多维的,但在示例中我们只能看到一维数组。
-
@James Waddington @ziGi 我已经更新了 $dirTree 的内容
-
@JamesWaddington $active = count($dirTree);为我做了诀窍,非常感谢您的帮助!非常感谢。
-
@JamesWaddington 你想在这里回答吗?所以 OP 可以accept 解决问题。
标签: php arrays navigation