Php 如何用HTML显示多维数组
我有多维数组,我得到如下输出:Php 如何用HTML显示多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有多维数组,我得到如下输出: Array ( [Bukit Panjang LRT] => Array ( [0] => Array ( [station_name] => Senja (BP13) ) [1] => Array (
Array
(
[Bukit Panjang LRT] => Array
(
[0] => Array
(
[station_name] => Senja (BP13)
)
[1] => Array
(
[station_name] => Ten Mile Junction (BP14)
)
)
[Changi Airport Branch Line (CAL)] => Array
(
[2] => Array
(
[station_name] => Changi Airport (CG2)
)
[3] => Array
(
[station_name] => Expo (CG1 / DT35)
)
)
)
我的foreach循环:
$level_keys = array();
foreach ($mrtlrt_line as $k => $sub_array){
$this_level = $sub_array['header_name'];
$level_keys[$this_level][$k] = array('station_name' => $sub_array['station_name']);
}
我希望以如下方式在HTML元素中显示值:
<h4>Bukit Panjang LRT</h4> <div>
<label class="label_check">
<input name="line" value="1" type="checkbox" />Senja (BP13
</label>
<label class="label_check">
<input name="line" value="2" type="checkbox" />Ten Mile Junction (BP14)
</label> </div>
<h4>Changi Airport Branch Line (CAL)</h4> <div>
<label class="label_check">
<input name="line" value="1" type="checkbox" />Changi Airport (CG2)
</label>
<label class="label_check">
<input name="line" value="2" type="checkbox" />Expo (CG1 / DT35)
</label> </div>
Bukit Panjang轻轨
Senja(BP13)
十英里路口(BP14)
樟宜机场支线(CAL)
樟宜机场(CG2)
世博会(CG1/DT35)
有什么想法或建议吗?谢谢。试试这段代码
<?php
//Your array- `$mrtlrt_line`
foreach($mrtlrt_line as $key => $value)
{
echo '<h4>',$key,'</h4><div>';
foreach($value as $nkey=>$nval)
{
echo '<label class="label_check">';
echo '<input name="line" value="1" type="checkbox" />',$nval;
echo '</label>';
}
echo '</div>';
}
foreach ($mrtlrt_line as $k => $sub_array){
$level_keys[$this_level][$k] = array('station_name' => $sub_array['station_name']);
$level_keys[$this_level][$k+1] = array('station_name' => $sub_array['station_name']);
echo '<h4>'.$sub_array['header_name'].'</h4> <div><label class="label_check"><input name="line" value="1" type="checkbox" />'.$level_keys[$this_level][$k].'</label><label class="label_check"><input name="line" value="2" type="checkbox" />'.$level_keys[$this_level][$k+1].'</label> </div>';
}
试试这段代码
<?php
//Your array- `$mrtlrt_line`
foreach($mrtlrt_line as $key => $value)
{
echo '<h4>',$key,'</h4><div>';
foreach($value as $nkey=>$nval)
{
echo '<label class="label_check">';
echo '<input name="line" value="1" type="checkbox" />',$nval;
echo '</label>';
}
echo '</div>';
}
foreach ($mrtlrt_line as $k => $sub_array){
$level_keys[$this_level][$k] = array('station_name' => $sub_array['station_name']);
$level_keys[$this_level][$k+1] = array('station_name' => $sub_array['station_name']);
echo '<h4>'.$sub_array['header_name'].'</h4> <div><label class="label_check"><input name="line" value="1" type="checkbox" />'.$level_keys[$this_level][$k].'</label><label class="label_check"><input name="line" value="2" type="checkbox" />'.$level_keys[$this_level][$k+1].'</label> </div>';
}
试试这个
<?php
foreach ($YourMulArr as $key => $subAry)
{
echo "<h4>" . $key . "</h4>";
echo "<div>";
foreach ($subAry as $k => $Ary)
{
echo "<label class='label_check'>";
echo "<input name='line' value='" . $k+1 . "' type='checkbox' /> ". $Ary['station_name'];
echo "</label>";
}
echo "</div>";
}
?>
试试这个
<?php
foreach ($YourMulArr as $key => $subAry)
{
echo "<h4>" . $key . "</h4>";
echo "<div>";
foreach ($subAry as $k => $Ary)
{
echo "<label class='label_check'>";
echo "<input name='line' value='" . $k+1 . "' type='checkbox' /> ". $Ary['station_name'];
echo "</label>";
}
echo "</div>";
}
?>
您必须从php foreach循环创建html,并在其中注入数组值。
请参阅此代码
<?php
//Your array- `$mrtlrt_line`
foreach($mrtlrt_line as $key => $value)
{
echo '<h4>',$key,'</h4><div>';
foreach($value as $nkey=>$nval)
{
echo '<label class="label_check">';
echo '<input name="line" value="1" type="checkbox" />',$nval;
echo '</label>';
}
echo '</div>';
}
foreach ($mrtlrt_line as $k => $sub_array){
$level_keys[$this_level][$k] = array('station_name' => $sub_array['station_name']);
$level_keys[$this_level][$k+1] = array('station_name' => $sub_array['station_name']);
echo '<h4>'.$sub_array['header_name'].'</h4> <div><label class="label_check"><input name="line" value="1" type="checkbox" />'.$level_keys[$this_level][$k].'</label><label class="label_check"><input name="line" value="2" type="checkbox" />'.$level_keys[$this_level][$k+1].'</label> </div>';
}
foreach($mrtlrt\u行作为$k=>$sub\u数组){
$level_keys[$this_level][$k]=数组('station_name'=>$sub_数组['station_name']);
$level_keys[$this_level][$k+1]=数组('station_name'=>$sub_数组['station_name']);
回显'.$sub_数组['header_name'].'.$level_keys[$this_level][$k].'.$level_keys[$this_level][$k+1].';
}
我希望您知道应该如何将数组注入html。您必须从php foreach循环创建html,并将数组值注入其中。
请参阅此代码
<?php
//Your array- `$mrtlrt_line`
foreach($mrtlrt_line as $key => $value)
{
echo '<h4>',$key,'</h4><div>';
foreach($value as $nkey=>$nval)
{
echo '<label class="label_check">';
echo '<input name="line" value="1" type="checkbox" />',$nval;
echo '</label>';
}
echo '</div>';
}
foreach ($mrtlrt_line as $k => $sub_array){
$level_keys[$this_level][$k] = array('station_name' => $sub_array['station_name']);
$level_keys[$this_level][$k+1] = array('station_name' => $sub_array['station_name']);
echo '<h4>'.$sub_array['header_name'].'</h4> <div><label class="label_check"><input name="line" value="1" type="checkbox" />'.$level_keys[$this_level][$k].'</label><label class="label_check"><input name="line" value="2" type="checkbox" />'.$level_keys[$this_level][$k+1].'</label> </div>';
}
foreach($mrtlrt\u行作为$k=>$sub\u数组){
$level_keys[$this_level][$k]=数组('station_name'=>$sub_数组['station_name']);
$level_keys[$this_level][$k+1]=数组('station_name'=>$sub_数组['station_name']);
回显'.$sub_数组['header_name'].'.$level_keys[$this_level][$k].'.$level_keys[$this_level][$k+1].';
}
我希望您知道应该如何将数组注入html。要扩展swapnesh的回答,您需要2个foreach循环。foreach mrtlrt\u行您需要循环该数组中的内容
您应该尽可能地将表示逻辑与业务逻辑分开。使用alt-php语法是个人的选择,但我主观上认为它使表示代码更易于阅读
<?php foreach($mrtlrt_line as $key => $value): ?>
<?php /* interator */ $i = 0; ?>
<h4><?php echo $key; ?></h4>
<div>
<?php foreach($value as $innerkey=>$innerval): ?>
<label class="label_check">
<input name="line" value="<?php echo $i++; ?>" type="checkbox" />
<?php echo $innernval; ?>
</label>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
为了扩展swapnesh的答案,您需要2个foreach循环。foreach mrtlrt_行您需要循环该数组中的内容
您应该尽可能地将表示逻辑与业务逻辑分开。使用alt-php语法是个人的选择,但我主观上认为它使表示代码更易于阅读
<?php foreach($mrtlrt_line as $key => $value): ?>
<?php /* interator */ $i = 0; ?>
<h4><?php echo $key; ?></h4>
<div>
<?php foreach($value as $innerkey=>$innerval): ?>
<label class="label_check">
<input name="line" value="<?php echo $i++; ?>" type="checkbox" />
<?php echo $innernval; ?>
</label>
<?php endforeach; ?>
</div>
<?php endforeach; ?>
如何确定复选框的值?@Orangepill抱歉什么?复选框的值属性是1,2,1,2…这些值是如何到达的at@Orangepill这是静态值,在此阶段不重要。如何确定复选框的值?@Orangepill抱歉什么?复选框的值属性为1,2,1,2…这些山谷是怎么到达的at@Orangepill这是静态值,在这个阶段并不重要。