Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как оптимизировать функцию перебора категорий?

Как оптимизировать функцию перебора категорий?


     04.07.2015    Общие вопросы по PHP, Модули    2332

вопрос
Доброе время суток!
Есть ImageCMS на php хотелось воспользоваться Вашими гениальными головами и светлыми мыслями.
Пожалуйста помогите оптимизировать такой loop:

$this->category = array(.....);
//Структура
[0]=> array(23) { ["id"]=> string(1) "1" ["parent_id"]=> string(1) "0" ["position"]=> string(1) "0" ["name"]=> string(14) "Новости" ["title"]=> string(0) "" ["short_desc"]=> string(57) "
Описание категории новости

" ["url"]=> string(7) "novosti" ["image"]=> NULL ["keywords"]=> string(0) "" ["description"]=> string(0) "" ["fetch_pages"]=> string(0) "" ["main_tpl"]=> string(0) "" ["tpl"]=> string(13) "category-news" ["page_tpl"]=> string(9) "news_full" ["per_page"]=> string(2) "25" ["order_by"]=> string(12) "publish_date" ["sort_order"]=> string(4) "desc" ["comments_default"]=> string(1) "0" ["field_group"]=> string(2) "-1" ["category_field_group"]=> string(2) "-1" ["settings"]=> NULL ["created"]=> string(10) "1435058957" ["updated"]=> string(10) "1435058957" }

Таких категорий в массиве 425 и при входе такого количества информации в такой (функция ниже) цикл убивается напроч APACHE

/**
     * Build full patch to one category
     *
     * @access private
     * @return array
     */
    function _PathToCat($cat_id) {
        
    
        
        foreach ($this->categories as $cats) {
            if ($cats['id'] == $cat_id) {
                //array_push($this->path,$cats['url']);
                $this->path[$cats['id']] = $cats['url'];
                $this->_PathToCat($cats['parent_id']);
            }
            @ob_clean();
        }

        return array_reverse($this->path, TRUE);
        //return $this->path;
    }


Люди добрые помогите =)
Спасибо заранее за Ваши объективные ответы

Ответа пока нет


2 комментария

LazyDev
PHP-developer

LazyDev - 4 июля 2015 22:28 -

Вроде бы тут по DataLife Engine помогают.

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

cybernatic
Эксперт

cybernatic - 5 июля 2015 20:58 -

Gameer,Вроде DataLife тоже на php. Оттуда и возник вопрос.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх