我需要帮助显示多个反序列化值,使用数组合并或任何其他可用方法。
array_combine
只接受2个参数,但这里有12个参数。我该怎么做才能更好地理解。这是我的代码。
$b_hdest = unserialize( base64_decode( $rs['b_hdest'] ) );
$b_hname = unserialize( base64_decode( $rs['b_hname'] ) );
$b_hadd = unserialize( base64_decode( $rs['b_hadd'] ) );
$b_hphone = unserialize( base64_decode( $rs['b_hphone'] ) );
$b_hin = unserialize( base64_decode( $rs['b_hin'] ) );
$b_hout = unserialize( base64_decode( $rs['b_hout'] ) );
$b_hroom = unserialize( base64_decode( $rs['b_hroom'] ) );
$b_hmeal = unserialize( base64_decode( $rs['b_hmeal'] ) );
$b_haextra = unserialize( base64_decode( $rs['b_haextra'] ) );
$b_hcextra = unserialize( base64_decode( $rs['b_hcextra'] ) );
$b_hspecial = unserialize( base64_decode( $rs['b_hspecial'] ) );
$b_hincl = unserialize( base64_decode( $rs['b_hincl'] ) );
$hcnt=1;
foreach (array_combine($b_hdest[0], $b_hname[0],$b_hadd[0],$b_hphone[0],$b_hin[0],$b_hout[0],$b_hroom[0],$b_hmeal[0],$b_haextra[0],$b_hcextra[0],$b_hspecial[0],$b_hincl[0]) as $hdest=>$hname=>$hadd=>$hphone=>$hin=>$hout=>$hroom=>$hmeal=>$haextra=>$hcextra=>$hspecial=>$hincl )
{
echo"
<tr><td>Hotel Details ".$hcnt."</td></tr>
<tr><td>Location : ".$hdest."</td><td>Name : ".$hname."</td><td>Address : ".$hadd."</td><tr>
<tr><td>Phone : ".$hphone."</td><td>CheckIn : ".$hcheckin."</td><td>CheckOut : ".$hout."</td><tr>
<tr><td>Rooms : ".$hroom."</td><td>Meals : ".$hmeal."</td><td>Extra Adult : ".$haextra."</td><tr>
<tr><td>Extra Child : ".$hcextra."</td><td>Special : ".$hspecial."</td><td>Inclusion : ".$hincl."</td><tr>
";
$hcnt++;
}
因为我收到错误
警告:array_combine()正好需要2个参数,12在第84行的C:\ xampp \ htdocs \ b2b \ view-booking.php中给出
警告:在第84行的C:\ xampp \ htdocs \ b2b \ view-booking.php中为foreach()提供的参数无效
所以这意味着我不能使用这种方法。
我使用了array_merge方法但结果与预期不符。
$newArray = array_merge($b_hdest[0], $b_hname[0],$b_hadd[0],$b_hphone[0],$b_hin[0],$b_hout[0],$b_hroom[0],$b_hmeal[0],$b_haextra[0],$b_hcextra[0],$b_hspecial[0],$b_hincl[0]);
foreach ($newArray as $key => $value) {
echo "
<tr><td>Hotel Details ".$hcnt."</td></tr>
<tr><td>Location : ".$value."</td><td>Name : ".$value."</td><td>Address : ".$value."</td><tr>
<tr><td>Phone : ".$value."</td><td>CheckIn : ".$value."</td><td>CheckOut : ".$value."</td><tr>
<tr><td>Rooms : ".$value."</td><td>Meals : ".$value."</td><td>Extra Adult : ".$value."</td><tr>
<tr><td>Extra Child : ".$value."</td><td>Special : ".$value."</td><td>Inclusion : ".$value."</td><tr>
";
$hcnt++;
}
答案 0 :(得分:0)
如果您的所有$b_
值都是数组,则迭代一个数组并从其他数组获取相应的键:
$b_hdest = unserialize( base64_decode( $rs['b_hdest'] ) );
$b_hname = unserialize( base64_decode( $rs['b_hname'] ) );
$b_hadd = unserialize( base64_decode( $rs['b_hadd'] ) );
// more $b_ variables
foreach ($b_hdest as $key => $value) {
// $key is a current index.
echo $value, ', ', $b_hname[$key], ', ', $b_hadd[$key], '<br />';
}
答案 1 :(得分:0)
是h_hdest将存储7家酒店的目的地,b_hname将存储7家酒店的名称,b_hphone将存储7家酒店的联系人,以此类推其他数据
在此之前保持代码不变。其余的,请遵循此。
for($i=0;$i<count($b_hdest[0]);$i++){
echo"
<tr><td>Hotel Details ".($i+1)."</td></tr>
<tr><td>Location : ".$b_hdest[0][$i]."</td><td>Name : ".$b_hname[0][$i]."</td><td>Address : ".$b_hadd[0][$i]."</td><tr>
<tr><td>Phone : ".$b_hphone[0][$i]."</td><td>CheckIn : ".$b_hin[0][$i]."</td><td>CheckOut : ".$b_hout[0][$i]."</td><tr>
<tr><td>Rooms : ".$b_hroom[0][$i]."</td><td>Meals : ".$b_hmeal[0][$i]."</td><td>Extra Adult : ".$b_haextra[0][$i]."</td><tr>
<tr><td>Extra Child : ".$b_hcextra[0][$i]."</td><td>Special : ".$b_hspecial[0][$i]."</td><td>Inclusion : ".$b_hincl[0][$i]."</td><tr>
";
}