Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > จะแปลง nested array+object ให้เป็น ul li ยังไง?



 

จะแปลง nested array+object ให้เป็น ul li ยังไง?

 



Topic : 077541



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์




ผม query ข้อมูลออกมาจาก db จนได้รูปแบบ array อย่างนี้แล้ว แต่คิดไม่ออกจริงๆว่าจะเอามาทำเป็น ul li ได้ยังไงครับ
Code (PHP)
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] => 
        )

)


ต้องการให้ออกมาเป็น
Code (PHP)
<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>



array นี้ในแบบ json ครับ
Code (JavaScript)
[{"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}]




Tag : PHP









ประวัติการแก้ไข
2012-04-25 10:01:46
2012-04-25 10:37:17
2012-04-25 16:12:09
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-04-25 10:01:08 By : mr.v View : 1418 Reply : 11
 

 

No. 1



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


http://blog.cnizz.com/2008/04/08/convert-php-object-to-an-array/

http://www.phpro.org/examples/Convert-Object-To-Array-With-PHP.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 10:32:01 By : sakuraei
 


 

No. 2



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ต้องการแปลงเป็น ul li ครับ ไม่ใช่แปลง array <-> object เพราะผมแปลงมาแล้ว ตามที่คำถามถามอยู่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 10:36:12 By : mr.v
 

 

No. 3



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


foreach ออกมาเลยครับ
งั้นเอาอาเรย์ที่แปลงแล้ว (ที่ใช้งานกับ foreachได้จริง) มาลงซิครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 10:47:59 By : sakuraei
 


 

No. 4



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


คงต้องใช้ recursive function ครับถ้า level ไม่ตายตัว แต่ถ้าตายตัว ใช้ loop เอาแบบง่ายๆ ก็ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 10:50:25 By : ikikkok
 


 

No. 5



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : ikikkok เมื่อวันที่ 2012-04-25 10:50:25
รายละเอียดของการตอบ ::
ผมก็ลองแล้วแต่ติดตรงมันไม่ได้ซ้อน ul li อย่างถูกต้องนี่สิครับ มึนตึ้บ.

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 15:49:16 By : mr.v
 


 

No. 6



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ขอ array ตัวนี้มาลองหน่อยครับ เด๋วเบื่อๆ ว่างๆ ผมลองดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 15:55:24 By : ikikkok
 


 

No. 7



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


อัพเดท array ในแบบ json_encode ให้แล้วครับ คุณ plakrim
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 16:13:10 By : mr.v
 


 

No. 8



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


เอา serialize แทน json น่าจะดีกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 16:17:51 By : ikikkok
 


 

No. 9



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


serialize ครับ
Code (PHP)
a:2:{i:0;O:8:"stdClass":13:{s:3:"tid";s:1:"1";s:9:"parent_id";s:1:"0";s:8:"language";s:2:"th";s:6:"t_type";s:8:"category";s:6:"t_name";s:4:"cat1";s:13:"t_description";N;s:5:"t_uri";s:4:"cat1";s:13:"t_uri_encoded";s:4:"cat1";s:6:"t_uris";N;s:10:"meta_title";N;s:16:"meta_description";N;s:13:"meta_keywords";N;s:6:"childs";a:2:{i:0;O:8:"stdClass":13:{s:3:"tid";s:1:"3";s:9:"parent_id";s:1:"1";s:8:"language";s:2:"th";s:6:"t_type";s:8:"category";s:6:"t_name";s:6:"cat1.1";s:13:"t_description";N;s:5:"t_uri";s:6:"cat1.1";s:13:"t_uri_encoded";s:6:"cat1.1";s:6:"t_uris";N;s:10:"meta_title";N;s:16:"meta_description";N;s:13:"meta_keywords";N;s:6:"childs";a:1:{i:0;O:8:"stdClass":12:{s:3:"tid";s:1:"5";s:9:"parent_id";s:1:"3";s:8:"language";s:2:"th";s:6:"t_type";s:8:"category";s:6:"t_name";s:8:"cat1.1.1";s:13:"t_description";N;s:5:"t_uri";s:8:"cat1.1.1";s:13:"t_uri_encoded";s:8:"cat1.1.1";s:6:"t_uris";N;s:10:"meta_title";N;s:16:"meta_description";N;s:13:"meta_keywords";N;}}}i:1;O:8:"stdClass":12:{s:3:"tid";s:1:"4";s:9:"parent_id";s:1:"1";s:8:"language";s:2:"th";s:6:"t_type";s:8:"category";s:6:"t_name";s:6:"cat1.2";s:13:"t_description";N;s:5:"t_uri";s:6:"cat1.2";s:13:"t_uri_encoded";s:6:"cat1.2";s:6:"t_uris";N;s:10:"meta_title";N;s:16:"meta_description";N;s:13:"meta_keywords";N;}}}i:1;O:8:"stdClass":12:{s:3:"tid";s:1:"2";s:9:"parent_id";s:1:"0";s:8:"language";s:2:"th";s:6:"t_type";s:8:"category";s:6:"t_name";s:4:"cat2";s:13:"t_description";N;s:5:"t_uri";s:4:"cat2";s:13:"t_uri_encoded";s:4:"cat2";s:6:"t_uris";N;s:10:"meta_title";N;s:16:"meta_description";N;s:13:"meta_keywords";N;}}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-25 16:47:35 By : mr.v
 


 

No. 10



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


ได้แล้วคร่าบบบ

โค้ดของ iambriansreed
ที่ http://stackoverflow.com/questions/10309006/php-function-that-create-nested-ul-li-from-arrayobject
Code (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;
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-26 00:07:47 By : mr.v
 


 

No. 11



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ไม่ได้เล่นเลย ทำได้ซะละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-26 01:41:58 By : ikikkok
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จะแปลง nested array+object ให้เป็น ul li ยังไง?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่