проблема добавить некоторый объект в массив подкатегории категории - PullRequest
1 голос
/ 07 ноября 2019

Мне нужен один массив подкатегорий категорий для моего сайта, и для этого я сделал нижеприведенную функцию для извлечения данных в форматирующей структуре.

function select_all($con){
   $table_name ="SELECT * FROM `Category`";
   $table_name_result = mysqli_query($con,$table_name);
   $array = mysqli_fetch_all($table_name_result, MYSQLI_ASSOC);
   return $array;
}   

function buildTree(array $elements, $parentId = 0) {
   $branch = array();

   foreach ($elements as $element) {
      if ($element['parent_id'] == $parentId) {
         $children = buildTree($elements, $element['ID']);
         if ($children) {
            $element['subcategories'] = $children;
         }
         $branch[] = $element;
      }
   }       
   return $branch;
}
$select_all = select_all($con);
$subcategory = buildTree($select_all);

с этой функцией, у меня есть массив, который приведен ниже

array(
  array( 
        'ID' => '1',  
        'Name' => 'ABC', 
        'Subcategory' => '', 
        'ParentID' => '0'
  ), 
  array(
        'ID' => '2',
        'Name' => 'DEF', 
        'Subcategory' => array(
            'ID' => '3',
            'Name' => 'QFE',
            'Subcategory' => array(
                [0] => stdClass Object(
                    [ID] => 5, 
                    [categoryname] => Main Menu, 
                    [type] => redirectLink, 
                    [redirection_link] => main menu, 
                    [position] => center, 
                    [position_from] => , 
                    [parent_id] => 4, 
                    [sequence] => 0
                ),
                [1] => stdClass Object (
                    [ID] => 6, 
                    [categoryname] => In Range,  
                    [type] => screenTitle, 
                    [redirection_link] => , 
                    [position] => right, 
                    [position_from] => 5, 
                    [parent_id] => 4,
                    [sequence] => 0, 
                ),
            ), 
            'ParentID' => '2'
        ), 
        'ParentID' => '0'
  ), 
);

, что хорошо, но при проверке ID 6 стоит прямо на ID 5, поэтому я хочу, чтобы ID 5 и ID 6 были в одном объекте, чтобы я мог правильно оформить свой экран.

но я не могу найти способ, с каким условием я могу получить этот ответ в buildTree()

, кто-нибудь может мне помочь с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...