繁体   English   中英

从PHP数组动态生成的手风琴

[英]Dynamic generated accordion from php array

哎呀

我有问题,我是php新手,我想从此php数组动态生成手风琴。

$main = array ('mainregion1' => array (
        'main_person' => array ( 
            0 => array ( 
                'name' => 'name1', 
                'phone' => '000000000', 
                'email' => 'name@name.com', 
                'important' => true, 
                ),
            ), 
        'subregion1' => array ( 
            0 => array ( 
                'name' => 'name2', 
                'phone' => '000111000', 
                'email' => 'name2@name2.com', 
                'important' => false, 
                ),
            1 => array ( 
                'name' => 'name3', 
                'phone' => '000222000', 
                'email' => 'name3@name3.com', 
                'important' => false, 
                ), 
            ), 
        'subregion2' => array ( 
            0 => array (
                'name' => 'name4', 
                'phone' => '111000111', 
                'email' => 'name4@name4.com',
                'important' => false, 
                ), 
            ),
        ),  
     );
    array ('mainregion2' => array (
        'main_person' => array ( 
            0 => array ( 
                'name' => 'name1', 
                'phone' => '000000000', 
                'email' => 'name@name.com', 
                'important' => true, 
                ),
            ), 
        'subregion1' => array ( 
            0 => array ( 
                'name' => 'name2', 
                'phone' => '000111000', 
                'email' => 'name2@name2.com', 
                'important' => false, 
                ),
            1 => array ( 
                'name' => 'name3', 
                'phone' => '000222000', 
                'email' => 'name3@name3.com', 
                'important' => false, 
                ), 
            ), 
        'subregion2' => array ( 
            0 => array (
                'name' => 'name4', 
                'phone' => '111000111', 
                'email' => 'name4@name4.com',
                'important' => false, 
                ), 
            ),
        ),  
     );

我已经在html http://jsfiddle.net/msx20/9nk9H/4/中完成了此操作。 我想将标记为“重要”的“主要”数组中的数据显示为父div并显示其内容,而子区域数组中的子区域数组中的数据则显示在以下子div中的手风琴中。

但是我在php中是菜鸟,而o根本不知道该怎么做,我已经尝试过foreach函数,但是我不太了解muliDimensions数组并不能使用它们。

有人可以帮我吗?

会是这样的。 它的索引可能不正确,因为我无法在数组中清楚地看到尺寸。


编辑:小心您的数组。

更改此:

 'subregion2' => array ( 0 => array ( 'name' => 'name4', 'phone' => '111000111', 'email' => 'name4@name4.com', 'important' => false, ), ), ), ); array ('mainregion2' => array ( 'main_person' => array ( // code ... 

带有:

 'subregion2' => array ( 0 => array ( 'name' => 'name4', 'phone' => '111000111', 'email' => 'name4@name4.com', 'important' => false, ), ), ), 'mainregion2' => array ( 'main_person' => array ( // code ... 

如果不是,则声明一个没有key或变量的数组。


试试这个,在我的本地主机上测试,它正在工作。

  <? foreach($main as $k => $v){ echo "<div>$k</div>"; $array = $v; foreach($v as $key => $value){ if($key == 'main_person'){ echo "<div class='main'>"; echo "<p>Name - ".$value[0]['name']."</p>"; echo "<p>Phone - ".$value[0]['phone']."</p>"; echo "<p>Email - ".$value[0]['email']."</p>"; echo "</div>"; echo "<div id=\\"accordion\\">"; } echo "<h3>$key</h3>"; if(sizeof($value)>1){ $subReg = $value; foreach ($subReg as $sK => $sV) { echo "<div>"; echo "<p>Name - ".$sV['name']."</p>"; echo "<p>Phone - ".$sV['phone']."</p>"; echo "<p>Email - ".$sV['email']."</p>"; echo "</div>"; } }else{ echo "<div>"; echo "<p>Name - ".$value[0]['name']."</p>"; echo "<p>Phone - ".$value[0]['phone']."</p>"; echo "<p>Email - ".$value[0]['email']."</p>"; echo "</div>"; } } echo "</div>"; } ?> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM