如何将多维数组分配给二维数组?

哈米德·霍萨尼(hamed hossani)

如何将多维数组分配给二维数组?在下拉列表中显示类别层次结构。($ form_multiselect())

我有这张桌子

| id | parent |  name   |
|----|--------|---------|
| 10 |      0 | 'menu1' |
| 12 |     10 | 'menu2' |
| 13 |     10 | 'menu3' |
| 14 |      0 | 'menu4' |

PHP代码是。

function prepare_items($data_from_table_of_database,$parent){
    $items = array ();      
        foreach ( $data_from_table_of_database as $item ) {
            if ($item ['parent'] == $parent) {
                $items ['id'] = $item;
                $items ['id'] ['children'] = 
                    $this->prepare_items ( $data_from_table_of_database, $item ['id']);
            }
        }
    }

我在下面显示了数组代码

Array (
     [107] => Array ( [id] => 107 [menu_title] => تست1 [parent] => 0 [sort_order] => 1 [children] => Array ( ) )
     [111] => Array ( [id] => 111 [menu_title] => تست 4 [parent] => 0 [sort_order] => 1 [children] => Array ( 
            [109] => Array ( [id] => 109 [menu_title] => تست 1 [parent] => 111 [sort_order] => 1 [children] => Array ( ) )
             [115] => Array ( [id] => 115 [menu_title] => تست7 [parent] => 111 [sort_order] => 1 [children] => Array ( [110] => Array ( [id] => 110 [menu_title] => تست 3 [parent] => 115 [sort_order] => 1 [children] => Array ( ) ) ) ) ) )
     [112] => Array ( [id] => 112 [menu_title] => تست 4 [parent] => 0 [sort_order] => 1 [children] => Array ( ) ) 
     [113] => Array ( [id] => 113 [menu_title] => تست 5 [parent] => 0 [sort_order] => 1 [children] => Array ( ) ) 
     [114] => Array ( [id] => 114 [menu_title] => تست شش6 [parent] => 0 [sort_order] => 3 [children] => Array ( 
            [108] => Array ( [id] => 108 [menu_title] => تست 2 [parent] => 114 [sort_order] => 1 [children] => Array ( ) ) 
     [118] => Array ( [id] => 118 [menu_title] => yeeeeeee [parent] => 114 [sort_order] => 1 [children] => Array ( ) ) ) ) 
     [119] => Array ( [id] => 119 [menu_title] => ff [parent] => 0 [sort_order] => 1 [children] => Array (
             [117] => Array ( [id] => 117 [menu_title] => shar [parent] => 119 [sort_order] => 1 [children] => Array ( ) ) ) )
     ) 

我将添加到另一个数组相同的结构下面

Array (
     [107] => Array ( [id] => 107 [menu_title] => تست1  [sort_order] => 2 )
     [111] => Array ( [id] => 111 [menu_title] => تست 4  [sort_order] => 3 )
     [109] => Array ( [id] => 109 [menu_title] => تست 4 -- تست 1  [sort_order] => 1 )
     [115] => Array ( [id] => 115 [menu_title] =>  تست 4 -- تست7  [sort_order] => 1 )
     [110] => Array ( [id] => 110 [menu_title] => تست 4 -- تست7 -- تست 3   [sort_order] => 1)
     .
     .
     .

     )

我昨天问了另一个与此主题相关的问题。

那是链接。

我试图从$ form-> multiselect()创建一个多层次的类别。

哈米德·霍萨尼(hamed hossani)

我找到了答案。

private  function build_item(&$list,$item,$level,$element_keys){
        $list[$item[$element_keys['menu_id']]]=str_repeat(" -> ", $level). $item[$element_keys['menu_title']];  
    }

private  function build_item_list($items,$element_keys ,$element_keys,$level=0) {

    foreach ( $items as $item ) {       
        $this->build_item($this->list,$item,$level,$element_keys);

            if(count($item['children'])>0){
                $this->build_item_list($item['children'],$element_keys,$element_keys,++$level);
            }
    }
    return  ( $this->list );
    }

这是下面的Generate数组

 [1] => Array ( [107] => تست1 ) 
 [2] => Array ( [111] => تست 4 )
 [3] => Array ( [109] => -> تست 1 ) 
 [4] => Array ( [115] => -> تست7 ) 
 [5] => Array ( [110] => -> -> تست 3 ) 
 [6] => Array ( [112] => -> تست 4 ) 
 [7] => Array ( [113] => -> تست 5 )
 [8] => Array ( [114] => -> تست شش6 )
 [9] => Array ( [108] => -> -> تست 2 )

这是我的天堂。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将值分配给二维python数组中的单个单元格

如何将python数组分配给gnuplot数组?

如何将二维数组相互分配?

快速将值分配给二维数组

将数组分配给多维数组的行时出错

如何在Java中随机将显式值分配给二维数组

C:将二维数组分配给另一个数组

在类方法中分配给二维数组

Swift:如何将字符串数组分配给UITextFields数组的text属性?

如何将一维数组分配给二维数组?

程序在for循环的中间以状态-1073741510终止,将输入分配给二维数组

新的多维数组将值从数组分配给第二个数组的索引

将值分配给动态多维数组的第一维和第二维时,VBA下标超出范围

将列表中的每个值分配给二维数组

C#将一维数组分配给具有偏移值的二维数组

如何将二维变量分配给数组

尝试将多维数组分配给结构

如何将记录集值分配给二维数组

NumPy:排序3D数组,但将第二维分配给first

PHP POST数据分配给二维数组

无法将值分配给二维布尔数组

如何将匹配表达式的值分配给 Scala 中的二维数组元素?

如何将数组的 $_post 数组分配给变量以插入数据库

通过引用将较小的二维数组分配给较大的二维数组

如何将二维数组变量分配给 Swift 中的大浮点矩阵?

如何将返回的数组分配给 main() 上的数组

如何使用 CudaMallocHost 将固定内存分配给二维数组?

Python:将值分配给具有设置元素的二维列表数组

将二维数组值分配给变量