将字符串值传递给数组

时间:2016-05-23 04:26:20

标签: php arrays string

我使用以下代码将数字值传递到购物车线。

if(is_array($_SESSION['cart'])){
            echo   '<tr bgcolor="#FFFFFF" style="font-weight:bold">
                        <td>Serial</td>
                        <td>Part No</td>
                        <td>Name</td>
                        <td>Price</td>
                        <td>Qty</td>
                        <td>Amount</td>
                        <td>Options</td>
                    </tr>';


            $max=count($_SESSION['cart']);
            for($i=0;$i<$max;$i++){
                $pid=$_SESSION['cart'][$i]['productid'];
                $q=$_SESSION['cart'][$i]['qty'];
                $pname=get_product_name($pid);
                if($q==0) continue;
        ?>
                <tr bgcolor="#FFFFFF">
                    <td><?php echo $i+1 ?></td>
                    <td><?php echo $pid ?></td>
                    <td><?php echo $pname ?></td>
                    <td>$ <?php echo get_price($pid)?></td>
                    <td><input type="text" name="product<?php echo $pid?>" value="<?php echo $q?>" maxlength="3" size="2" /></td>                    
                    <td>$ <?php echo get_price($pid)*$q?></td>
                    <td><a href="javascript:del(<? echo $pid?>)">Remove</a></td>
                </tr>
        <?php                   
            }
        ?>

当我插入数字值时,如&#34; 12191008&#34; ,&#34; 05191034&#34;它工作正常。但对于字符串值,如&#34; PF401404&#34;它不起作用。如何修改代码以传递字符串值?

还添加到购物车功能如下..

function addtocart($pid,$q){
    if($pid<1 or $q<1) return;

    if(is_array($_SESSION['cart'])){
        if(product_exists($pid)) return;
        $max=count($_SESSION['cart']);
        $_SESSION['cart'][$max]['productid']=$pid;
        $_SESSION['cart'][$max]['qty']=$q;
    }
    else{
        $_SESSION['cart']=array();
        $_SESSION['cart'][0]['productid']=$pid;
        $_SESSION['cart'][0]['qty']=$q;
    }
}

1 个答案:

答案 0 :(得分:0)

我想

if($pid<1 or $q<1) return;

这不适合你。因为您的$ pid在您的情况下不是整数