Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数组+;对象_Php_Arrays_Nested Loops - Fatal编程技术网

Php 从数组+;对象

Php 从数组+;对象,php,arrays,nested-loops,Php,Arrays,Nested Loops,我有这样的数组+对象 Array ( [0] => stdClass Object ( [tid] => 1 [parent_id] => 0 [language] => th [t_type] => category [t_name] => cat1 [t_description] =>

我有这样的数组+对象

Array
(
    [0] => stdClass Object
        (
            [tid] => 1
            [parent_id] => 0
            [language] => th
            [t_type] => category
            [t_name] => cat1
            [t_description] => 
            [t_uri] => cat1
            [t_uri_encoded] => cat1
            [t_uris] => 
            [meta_title] => 
            [meta_description] => 
            [meta_keywords] => 
            [childs] => Array
                (
                    [0] => stdClass Object
                        (
                            [tid] => 3
                            [parent_id] => 1
                            [language] => th
                            [t_type] => category
                            [t_name] => cat1.1
                            [t_description] => 
                            [t_uri] => cat1.1
                            [t_uri_encoded] => cat1.1
                            [t_uris] => 
                            [meta_title] => 
                            [meta_description] => 
                            [meta_keywords] => 
                            [childs] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [tid] => 5
                                            [parent_id] => 3
                                            [language] => th
                                            [t_type] => category
                                            [t_name] => cat1.1.1
                                            [t_description] => 
                                            [t_uri] => cat1.1.1
                                            [t_uri_encoded] => cat1.1.1
                                            [t_uris] => 
                                            [meta_title] => 
                                            [meta_description] => 
                                            [meta_keywords] => 
                                        )

                                )

                        )

                    [1] => stdClass Object
                        (
                            [tid] => 4
                            [parent_id] => 1
                            [language] => th
                            [t_type] => category
                            [t_name] => cat1.2
                            [t_description] => 
                            [t_uri] => cat1.2
                            [t_uri_encoded] => cat1.2
                            [t_uris] => 
                            [meta_title] => 
                            [meta_description] => 
                            [meta_keywords] => 
                        )

                )

        )

    [1] => stdClass Object
        (
            [tid] => 2
            [parent_id] => 0
            [language] => th
            [t_type] => category
            [t_name] => cat2
            [t_description] => 
            [t_uri] => cat2
            [t_uri_encoded] => cat2
            [t_uris] => 
            [meta_title] => 
            [meta_description] => 
            [meta_keywords] => 
        )

)
此数组+json字符串中的对象

[{"tid":"1","parent_id":"0","language":"th","t_type":"category","t_name":"cat1","t_description":null,"t_uri":"cat1","t_uri_encoded":"cat1","t_uris":null,"meta_title":null,"meta_description":null,"meta_keywords":null,"childs":[{"tid":"3","parent_id":"1","language":"th","t_type":"category","t_name":"cat1.1","t_description":null,"t_uri":"cat1.1","t_uri_encoded":"cat1.1","t_uris":null,"meta_title":null,"meta_description":null,"meta_keywords":null,"childs":[{"tid":"5","parent_id":"3","language":"th","t_type":"category","t_name":"cat1.1.1","t_description":null,"t_uri":"cat1.1.1","t_uri_encoded":"cat1.1.1","t_uris":null,"meta_title":null,"meta_description":null,"meta_keywords":null}]},{"tid":"4","parent_id":"1","language":"th","t_type":"category","t_name":"cat1.2","t_description":null,"t_uri":"cat1.2","t_uri_encoded":"cat1.2","t_uris":null,"meta_title":null,"meta_description":null,"meta_keywords":null}]},{"tid":"2","parent_id":"0","language":"th","t_type":"category","t_name":"cat2","t_description":null,"t_uri":"cat2","t_uri_encoded":"cat2","t_uris":null,"meta_title":null,"meta_description":null,"meta_keywords":null}]
如何创建这样的嵌套ul li。

<ul>
  <li>cat1
    <ul>
        <li>cat1.1
            <ul>
                <li>cat1.1.1</li>
            </ul>
        </li>
        <li>cat1.2</li>
    </ul>
  </li>
  <li>cat2</li>
</ul>
  • 第一类
    • cat1.1
      • cat1.1.1
    • 第1.2类
  • 第二类
这就是我尝试过的

echo list_nested_cat( $list_item );
function list_nested_cat( $list_item, $start = 0) {
    echo '<ul style="margin-left: 1em;">';
    foreach ( $list_item as $item ) {
        if ( isset( $item->childs ) && is_array( $item->childs ) ) {
            echo '<li>'.$item->t_name.'</li>';
            list_nested_cat($item->childs);
        } else {
            echo '<li>'.$item->t_name.'</li>';
        }

    }
    echo '</ul>';
}
echo list_嵌套_cat($list_item);
函数列表嵌套类($list\u item,$start=0){
echo'
    ; foreach($将项目列为$项目){ if(isset($item->childs)和&is_数组($item->childs)){ 回显“
  • ”.$item->t_name.
  • ”; 列出嵌套类($item->childs); }否则{ 回显“
  • ”.$item->t_name.
  • ”; } } 回声“
”; }
但此函数响应错误的html嵌套ul li格式

注:我使用arnaud576875代码创建数组对象


这应该让您开始:

它使用递归函数;它自称

已更新

使用JSON对象进行了测试,并修复了一些错误

<?php    

echo make_ulli($object); 

function make_ulli($array){
    if(!is_array($array)) return '';

    $output = '<ul>';
    foreach($array as $item){  

        $output .= '<li>' . $item->t_name;      

        if(property_exists($item, 'childs'))
            $output .= make_ulli($item->childs);

        $output .= '</li>';

    }   
    $output .= '</ul>';

    return $output;
}


?>


请将那个难看的数组作为JSON字符串发布以供测试之用?@iambriansreed我按照您的要求发布了JSON字符串。@vee我用它来测试我的代码并修复了一些错误。查看发布的更新代码。这真的很有效。谢谢。:-)