Php 以自定义方式显示多维数组
我有一个多维数组,它是这样的:Php 以自定义方式显示多维数组,php,Php,我有一个多维数组,它是这样的: Array ( [Monday] => Array ( [open] => 05.00 PM [close] => 04.00 PM [state] => 0 ) [Tuesday] => Array ( [open] => [close] =
Array
(
[Monday] => Array
(
[open] => 05.00 PM
[close] => 04.00 PM
[state] => 0
)
[Tuesday] => Array
(
[open] =>
[close] =>
[state] => 1
)
[Wednesday] => Array
(
[open] => 03.00 AM
[close] => 06.00 PM
[state] => 0
)
[Thursday] => Array
(
[open] =>
[close] =>
[state] => 1
)
[Friday] => Array
(
[open] => 05.00 PM
[close] => 03.00 PM
[state] => 0
)
[Saturday] => Array
(
[open] => 05.00 PM
[close] => 06.00 PM
[state] => 0
)
[Sunday] => Array
(
[open] =>
[close] =>
[state] => 1
)
)
Monday - 05.00 PM - 04.00 PM
Tuesday - Closed
Wednesday - 03.00 AM - 06.00 PM
Thursday - Closed
Friday - 05.00 PM - 03.00 PM
Saturday - 05.00 PM - 06.00 PM
Sunday - Closed
使用此数组,我希望创建如下输出:
Array
(
[Monday] => Array
(
[open] => 05.00 PM
[close] => 04.00 PM
[state] => 0
)
[Tuesday] => Array
(
[open] =>
[close] =>
[state] => 1
)
[Wednesday] => Array
(
[open] => 03.00 AM
[close] => 06.00 PM
[state] => 0
)
[Thursday] => Array
(
[open] =>
[close] =>
[state] => 1
)
[Friday] => Array
(
[open] => 05.00 PM
[close] => 03.00 PM
[state] => 0
)
[Saturday] => Array
(
[open] => 05.00 PM
[close] => 06.00 PM
[state] => 0
)
[Sunday] => Array
(
[open] =>
[close] =>
[state] => 1
)
)
Monday - 05.00 PM - 04.00 PM
Tuesday - Closed
Wednesday - 03.00 AM - 06.00 PM
Thursday - Closed
Friday - 05.00 PM - 03.00 PM
Saturday - 05.00 PM - 06.00 PM
Sunday - Closed
我尝试了2个foreach循环,但无法让它显示预期的输出
foreach ($result as $days => $values) {
echo "$days";
foreach ($values as $k) {
echo " - $k";
}
echo "<br/>";
}
有人能告诉我怎么才能弄明白吗
注意:如果
state=0
它不需要显示,state=1
它应该关闭
你应该检查状态
索引是否存在(1)比如:如果($value['state'))
试试这个:
foreach ($result as $days => $values) {
echo "$days";
if ($values['state']) {
echo " - Closed";
} else {
echo ": ".$values['open']." - ".$values['close'];
}
echo "<br/>";
}
foreach($result as$days=>$value){
回音“$days”;
如果($values['state'])){
回声“-关闭”;
}否则{
echo“:”$values['open'].“-”$values['close'];
}
回声“
”;
}
您应该检查状态
索引是否存在(1)或不存在(0),例如:如果($values['state'))
试试这个:
foreach ($result as $days => $values) {
echo "$days";
if ($values['state']) {
echo " - Closed";
} else {
echo ": ".$values['open']." - ".$values['close'];
}
echo "<br/>";
}
foreach($result as$days=>$value){
回音“$days”;
如果($values['state'])){
回声“-关闭”;
}否则{
echo“:”$values['open'].“-”$values['close'];
}
回声“
”;
}
像这样执行foreach循环:
foreach ($result as $days => $values) {
echo $days." - ";
echo $values["state"] ? "Closed" : $values["open"]." - ".$values["close"];
echo "<br />";
}
foreach($result as$days=>$value){
回声$days.“-”;
echo$values[“state”]?“Closed”:$values[“open”]。“-”$values[“close”];
回声“
”;
}
像这样执行foreach循环:
foreach ($result as $days => $values) {
echo $days." - ";
echo $values["state"] ? "Closed" : $values["open"]." - ".$values["close"];
echo "<br />";
}
foreach($result as$days=>$value){
回声$days.“-”;
echo$values[“state”]?“Closed”:$values[“open”]。“-”$values[“close”];
回声“
”;
}
使用html表格执行foreach循环,以使当前行对齐
$data = "<table >";
foreach($result as $day=>$value) {
if($value["state"]==1) {
$value = "<td colspan='3'> Closed </td>";
} else {
$value = "<td> $value[open] </td><td> - </td><td> $value[close] </td>";;
}
$data .= "<tr><td> $day </td><td> - </td> $value</tr>";
}
$data .= "</table>";
echo $data;
$data=”“;
foreach($结果为$天=>$值){
如果($value[“state”]==1){
$value=“已关闭”;
}否则{
$value=“$value[open]-$value[close]”;;
}
$data.=“$day-$value”;
}
$data.=“”;
回波数据;
使用html表格执行foreach循环,以使当前行对齐
$data = "<table >";
foreach($result as $day=>$value) {
if($value["state"]==1) {
$value = "<td colspan='3'> Closed </td>";
} else {
$value = "<td> $value[open] </td><td> - </td><td> $value[close] </td>";;
}
$data .= "<tr><td> $day </td><td> - </td> $value</tr>";
}
$data .= "</table>";
echo $data;
$data=”“;
foreach($结果为$天=>$值){
如果($value[“state”]==1){
$value=“已关闭”;
}否则{
$value=“$value[open]-$value[close]”;;
}
$data.=“$day-$value”;
}
$data.=“”;
回波数据;
1)您不需要为每台电脑配备第二台foreach
。您只需要子数组中特定数量的值,并且还知道它们的键。直接访问即可。2) 显然,您需要一个if
语句来根据状态生成输出。放入一个。如果只想回显$days的值,则不需要在其周围加引号。1)不需要第二个foreach
。您只需要子数组中特定数量的值,并且还知道它们的键。直接访问即可。2) 显然,您需要一个if
语句来根据状态生成输出。输入一个。如果你只想重复$days的值,你不需要在它周围加引号。但是它的输出是这样的-周一-05.00 PM-04.00 PM-0周二-闭馆周三-03.00 AM-06.00 PM-0周四-闭馆周五-05.00 PM-03.00 PM-0周六-05.00 PM-06.00 PM-0周日-闭馆
@TNK Oo yes,我错过了。这个问题是关于foreach循环所有索引的原因。我搬走了。你不需要foreach,但是它的输出是这样的-星期一-05.00 PM-04.00 PM-0星期二-0星期三-03.00 AM-06.00 PM-0星期四-0星期五-05.00 PM-03.00 PM-0星期六-05.00 PM-06.00 PM-0星期日-0 Closed
@TNK-Oo是的,我错过了。这个问题是关于foreach循环所有索引的原因。我搬走了。您不需要为每个人设置foreach