【发布时间】:2014-10-12 08:24:10
【问题描述】:
我们可以通过在 PHP 中返回多个值来实现和回显表格吗?
数组:
$arrayBooking = array(
"a01"=>array(
"Amy"=>array(
"booking1"=>array(
"231"=>array(
"date"=>"21/08/2014",
"period"=>array(
"from"=>1,
"to"=>3
)
)
)
)
),
"a02"=>array(
"Peter"=>array(
"booking1"=>array(
"231"=>array(
"date"=>"22/08/2014",
"period"=>array(
"from"=>2,
"to"=>3
)
)
),
"booking2"=>array(
"231"=>array(
"date2"=>"24/08/2014",
"period"=>array(
"from"=>2,
"to"=>5
)
)
)
)
)
)
以及功能:
function bookingDate($arrayBooking, $userID){
$date1String="";
$date2String="";
foreach($arrayBooking as $key => $value){
if($key==$userID){
foreach($value as $id => $val){
foreach($val as $booking => $array){
foreach($array as $room => $detail){
//$reverse = array_reverse($array, true);
foreach($detail as $time => $date){
if($time=="date"){
$date1String = $date;
}
if($time=="date2"){
$date2String = $date;
}
}
}
}
}
}
return $date1String, $date2String;
}
并显示表格:
$BookingTable = "<table border=1>";
foreach($arrayBooking as $key => $value){
$BookingTable .= "<tr>";
$BookingTable .= "<td align=center>" . bookingDate($arrayBooking, $key) . "</td>";
$BookingTable .= "<tr>";
}
$BookingTable = "<table border=1>";
我已尝试返回这些值并转换为数组,但无法列出结果。另外我认为数组的逻辑可能不正确,让函数没有正确显示。 (显示所有日期并使用 ASC 排序)
此外,我被认为是“日期”,所以我将“日期”更改为“日期 2”,而用户预订了 2 个房间。
【问题讨论】:
-
你想flatten吗?
-
我想但是我怕会出现不正确的结果。
-
@learn_PHP 不需要使用
date2;您可以将其保留为date。在多个数组中使用相同的键名是可以的,唯一的事情是不要在[同一个]数组中多次使用它。 :-)
标签: php arrays function multidimensional-array return