Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php,在一个foreach中打印一个数组,在另一个foreach中打印一个数组,然后在第一个foreach中打印一个数组,依此类推,如何?_Php_Loops_Foreach - Fatal编程技术网

php,在一个foreach中打印一个数组,在另一个foreach中打印一个数组,然后在第一个foreach中打印一个数组,依此类推,如何?

php,在一个foreach中打印一个数组,在另一个foreach中打印一个数组,然后在第一个foreach中打印一个数组,依此类推,如何?,php,loops,foreach,Php,Loops,Foreach,我有两个foreach循环:一个是购买信息,另一个是销售信息 我想这样打印的内容,这里一个foreach循环将保存许多用于购买的项目,另一个foreach循环将保存许多用于销售的项目。我想在采购和销售中循环一个项目,以此类推 谁能建议我怎么做 //purchase infos foreach($purchase_array as $row){ echo "<tr>"; echo "<td>purchase</td>"; e

我有两个foreach循环:一个是购买信息,另一个是销售信息

我想这样打印的内容,这里一个foreach循环将保存许多用于购买的项目,另一个foreach循环将保存许多用于销售的项目。我想在采购和销售中循环一个项目,以此类推

谁能建议我怎么做

//purchase infos
foreach($purchase_array as $row){
   echo "<tr>";
        echo "<td>purchase</td>";
        echo "<td>".$row['quantity']."</td>";
        echo "<td>".$row['total']."</td>";
      //if one item finished here it has to go to $sales_array foreach loop and come back to this loop after echoing one item there. so that it can be one row
}
foreach($sales_array as $row){
//sales infos
        echo "<td>sales</td>";
        echo "<td>".$row['bill_number']."</td>";
        echo "<td>".$row['quantity']."</td>";
        echo "<td>".$row['total']."</td>";
    echo "</tr>";
}
//购买信息
foreach($purchase\u数组作为$row){
回声“;
呼应“购买”;
回显“$row['quantity']”;
回显“$row['total']”;
//如果一个项目在这里完成,它必须转到$sales\u数组foreach循环,并在那里回显一个项目后返回到此循环。这样它就可以是一行
}
foreach($sales\u数组作为$row){
//销售信息
呼应“销售”;
回显“$行[“票据编号]”;
回显“$row['quantity']”;
回显“$row['total']”;
回声“;
}

我想您需要循环并为每个项目打印一行,因此如果是这种情况,您可以尝试这样的嵌套循环

//purchase infos
foreach($purchase_array as $row){
      echo "<tr>";
        echo "<td>purchase</td>";
        echo "<td>".$row['quantity']."</td>";
        echo "<td>".$row['total']."</td>";

        //if one item finished here it has to go to $sales_array foreach loop and come back to this loop after echoing one item there. so that it can be one row
    foreach($sales_array as $row){
        //sales infos
        echo "<td>sales</td>";
        echo "<td>".$row['bill_number']."</td>";
        echo "<td>".$row['quantity']."</td>";
        echo "<td>".$row['total']."</td>";    
    }

    echo "</tr>";
}
//购买信息
foreach($purchase\u数组作为$row){
回声“;
呼应“购买”;
回显“$row['quantity']”;
回显“$row['total']”;
//如果一个项目在这里完成,它必须转到$sales\u数组foreach循环,并在那里回显一个项目后返回到此循环。这样它就可以是一行
foreach($sales\u数组作为$row){
//销售信息
呼应“销售”;
回显“$行[“票据编号]”;
回显“$row['quantity']”;
回显“$row['total']”;
}
回声“;
}

如果您提前计划让他们拥有相同的钥匙,您可以这样做:

foreach (array_keys($purchase_array) as $index) {
    echo "<tr>";
    echo "<td>purchase</td>";
    echo "<td>".$purchase_array[$index]['quantity']."</td>";
    echo "<td>".$purchase_array[$index]['total']."</td>";
    echo "<td>sales</td>";
    echo "<td>".$sales_array[$index]['bill_number']."</td>";
    echo "<td>".$sales_array[$index]['quantity']."</td>";
    echo "<td>".$sales_array[$index]['total']."</td>";
    echo "</tr>";
}
foreach(数组\u键($purchase\u数组)作为$index){
回声“;
呼应“购买”;
echo“$purchase_数组[$index]['quantity']”;
echo“$purchase_数组[$index]['total']”;
呼应“销售”;
echo“$sales_数组[$index]['bill_number']”;
回显“$sales_数组[$index]['quantity']”;
echo“$sales_数组[$index]['total']”;
回声“;
}

我有点不确定你在问什么。这可能会解决你的问题:你解决问题了吗?@themis,还没有解决。仍然在思考…我现在有一种情况,如果购买信息数组只有一个值,而销售数组有更多的值,该怎么办。我想在上半年打印购买,在下半年打印销售,然后在上半年打印空购买,在下半年打印销售,我想我明白了。采购和销售实体之间的关系是什么?是1:11:n吗?我认为使用2嵌套循环或3嵌套循环是可以的,但对于您的情况来说,这似乎是一种不好的做法。在返回所有值之前,为什么不使用内部联接或其他方法进行sql查询呢。这样,您只能使用一个foreach。有可能吗?我已经进行了开关大小写检查1)两个数组计数都等于1,2)n:13)1:n,我现在解决了以上所有问题,但这是挂起的。也许这是一个坏习惯,因为我是新来的。我想你需要澄清你的问题。如果您对以上内容都满意,那么问题是什么?“我在这里遇到了一种情况,如果购买信息数组只有一个值,而销售数组有更多的值怎么办?”。如果$purchase_数组有一个值,而sales多,那么在第一个值旁边会有更多的td列引用该特定销售额。不确定这是不是个好主意。如果您的每次购买都有更多的销售额,我认为这在逻辑上是不可能的,那么您应该制作一个表格,仅显示购买情况,当您单击一次购买时,我将显示销售情况。