Heelo。
我有问题,我是php的noob,我想从这个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/中完成了这项工作。我想显示来自“main”数组标记的数据“重要”作为父div并显示它的内容,来自子区域数组的数据显示在下面的儿童div的手风琴中。
但我是php中的noob并且不知道如何做到这一点,我已经尝试了foreach函数,但我不理解mulidimensionals数组并与它们一起玩。
有人可以帮我这个吗?
答案 0 :(得分:1)
会是这样的。索引可能不正确,因为我无法在数组中清楚地看到尺寸。
<小时/> 编辑:请注意您的阵列。
改变这个:
'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
或变量的数组。
试试这个,在我的localhost上测试,它正在运行。
<?
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>";
}
?>