如何在数组中存储多个值并显示它们

时间:2014-07-25 06:34:47

标签: php

我在购物车上工作,我在会话中存储了car_idpriceadd on个项目。我设法存储在会话中但是怎么做我根据id正确检索它们?

这里是存储在会话中的代码:

$_SESSION['items'][$price]=array('total'=>$car_id,'add_on'=>$add_on);

这就是我检索它们的方法。我可以合理地显示ID和价格而不是插件。因为一个id可以有多个添加项目,我如何以相同的方式存储和检索?

<table>
<tr><th>price</th><th>Car id</th><th>Extras</th></tr>
        <?php
         foreach($_SESSION['items'] as $total=>$id)
          {

              ?>
              <tr>


                  <td width="100"><?php echo 'RM '.$total;?></td>
              <?php
              foreach($id as $ids)
              {


        ?>
              <td width="100"><?php  echo $ids;?></td>



                     <td width="100"><?php if(isset($add_on)){ echo $add_on;} ?></td>



              </tr>

        <?php
        }
          }

        ?>

        </table>   

编辑部分**

如何访问数组中的数组?

我得到了上述质疑的回答。现在我试图访问存储在数组内的多个插件值。

看起来像这样:

$ _ SESSION [&#39;项目&#39;] [$价格] =阵列(&#39;总&#39; =&GT; $ car_id,阵列(&#39; ADD_ON&#39; =&GT; $ ADD_ON,&#39; DEP&#39; = GT; $ DEP));

被修改 如何通过url传递变量值数组

 if(isset($_POST['addon']))
{
    if(isset($_POST['add_item']))
    {

    foreach($_POST['add_item'] as $item)
    {
        $item.'<br/>';
        mysql_select_db($database);
        $query_item="SELECT * FROM tbl_addons WHERE addOns_id='$item'";
        $result_item=mysql_query($query_item);
        while($row_item=mysql_fetch_array($result_item))
        {
            $dep=$row_item['Deposit'];
            $ppd=$row_item['PricePerDay'];
            echo $dep.'<br/>';
            echo $ppd.'<br/>';
        }
    }

1 个答案:

答案 0 :(得分:3)

试试这个

<table>
<tr><th>price</th><th>Car id</th><th>Extras</th></tr>
        <?php
         foreach($_SESSION['items'] as $total=>$id)
          {
              ?>
              <tr>
                  <td width="100"><?php echo 'RM '.$total;?></td>             
                  <td width="100"><?php  echo $id['total'];?></td>
                  <td width="100"><?php if(isset($id['add_on'])){ echo $id['add_on'];} ?></td>
              </tr>
        <?php       
          }
        ?>
</table>   

您不需要第二个循环来获取值

希望这是您希望存储add_on

的方式
$_SESSION['items'][$price]= array('total'=>$car_id,
                              'add_on' => array( 'Add_on1' => array('deposite' => '20%',  'price' => 125),
                                                 'Add_on2' =>array( 'deposite' => '15%',  'price' => 234),
                                                 'Add_on3' =>array( 'deposite' => '5%',  'price' => 54))

                            );

使用此方法检索值

<td width="100"><?php if(isset($id['add_on'])){ 

                  foreach($id['add_on'] as $key => $value){                          
                      echo $key. ' ; Deposite - '.$value['deposite'] .' ; Price : '.$value['price'] ;
                      echo '<br>';
                  }

              } ?></td>