数组
$nameArr=(0=>'张三',1=>'李四');
$priceArr=(0=>'15',1=>'20');我现在想要把这两个数组中的值插入到数据表order中,可是要怎么遍历插入啊
name   消费
张三    15
李四    20[/color]
foreach($nameArr as $name)
{
     foreach($priceArr as $price)
     {
         执行sql插入
     }}这样不行,应该怎么办啊,请给指点指点啊

解决方案 »

  1.   

    foreach($nameArr as $key=>$name)
    {
      //将 $name 和 $price[$key] 插入库中
      

  2.   

    大致如下:
    //假如下面两个数组个数相同
    $nameArr=(0=>'张三',1=>'李四');
    $priceArr=(0=>'15',1=>'20');
    $len = count($nameArr);
    for($i = 0; $i < $len; $i++){
    $sql = 'insert into order(name, price) values("' . $nameArr[$i] . '", "' . $priceArr[$i] . '")';
    mysql_query($sql);
    }
      

  3.   

    $j=0;
    for ($i=0;$i<count($nameArr);$i++)
    {
    foreach ($priceArr as $price){
    $data=$nameArr[$j].$price;
    }
    $j++;
    }能看懂不?咔咔
      

  4.   

    for($i=0;$i<count($nameArr);$i++){
        mysql_query(name,price)values('$nameArr[$i]','$priceArr[$i]');
    }
      

  5.   


    非常感谢各位前辈的帮助如果$nameArr数组中有空值,我应该怎么去掉啊,我试了一些办法都不太好用...
      

  6.   


    老大的教诲
    $array=array_diff($array, array(''));
      

  7.   

    在循环的时候用if判断下,如果是空值直接continue跳出本次循环继续执行下次循环就行了,如下:$nameArr=(0=>'张三',1=>'李四');
    $priceArr=(0=>'15',1=>'20');
    $len = count($nameArr);
    for($i = 0; $i < $len; $i++){
    if(!$nameArr[$i]){
    continue;
    }
    $sql = 'insert into order(name, ) values("' . $nameArr[$i] . '", "' . $priceArr[$i] . '")';
    }具体有关continue和break的用法请baidu下