php If заявление, основанное на уровне dirTree

0

У меня есть массив, отражающий структуру сайта. Я пытаюсь выполнить оператор 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] => 
        )

)
  • 0
    Как вы определяете, какой уровень активен?
  • 0
    Можете ли вы рассказать немного подробнее о структуре $ dirTree и о том, что в ней есть? Вы упоминаете, что он многомерный, но в примере мы можем видеть только одномерный массив.
Показать ещё 9 комментариев
Теги:
arrays
navigation

1 ответ

2
Лучший ответ

Поскольку последний элемент массива всегда является активным уровнем, активный уровень должен быть таким же, как размер массива:

$active = count($dirTree);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню