【问题标题】:php If statement based on level of dirTree基于 dirTree 级别的 php If 语句
【发布时间】: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


【解决方案1】:

由于数组中的最后一个元素始终是活动级别,因此活动级别应该与数组的大小相同:

$active = count($dirTree);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多