我不知道如何将整个数组存储到txt文件中。我的代码只存储foreach循环中最后一行运行的代码。
$total_price = 0;
foreach($_SESSION['shopping_cart'] as $id => $product) {
$product_id = $product['product_id'];
$total_price += $products[$product_id]['price'] * $product['quantity'];
echo "<tr>
<td style='border-bottom:1px solid #000000;'><a href='./PA3.php?view_product=$id'>" .
$products[$product_id]['name'] . "</a></td>
<td style='border-bottom:1px solid #000000;'>$" . $products[$product_id]['price'] . "</td>
<td style='border-bottom:1px solid #000000;'>" . $product['quantity'] . "</td>
<td style='border-bottom:1px solid #000000;'>$" . ($products[$product_id]['price'] * $product['quantity']) . "</td>
<td style='border-bottom:1px solid #000000;'>" . $products[$product_id]['picture'] . "</td>
</tr>";
}
echo "</table>
<p>Total price: $" . $total_price . "</p>";
$filename='Order'.date('m-d-Y_hia').'.txt';
file_put_contents($filename, json_encode($dataArray));
}
我想这是因为我在数组内部初始化它,但当我在数组外部初始化它时,我会得到一个索引错误。
试试这样的东西:
$filename='Order'.date('m-d-Y_hia').'.txt';
$fh = fopen($filename, 'w');
$total_price = 0;
foreach($_SESSION['shopping_cart'] as $id => $product) {
$product_id = $product['product_id'];
$total_price += $products[$product_id]['price'] * $product['quantity'];
echo "<tr>
<td style='border-bottom:1px solid #000000;'><a href='./PA3.php?view_product=$id'>" .
$products[$product_id]['name'] . "</a></td>
<td style='border-bottom:1px solid #000000;'>$" . $products[$product_id]['price'] . "</td>
<td style='border-bottom:1px solid #000000;'>" . $product['quantity'] . "</td>
<td style='border-bottom:1px solid #000000;'>$" . ($products[$product_id]['price'] * $product['quantity']) . "</td>
<td style='border-bottom:1px solid #000000;'>" . $products[$product_id]['picture'] . "</td>
</tr>";
}
echo "</table>
<p>Total price: $" . $total_price . "</p>";
foreach($_SESSION['shopping_cart'] as $id => $product) {
foreach($product as $k=>$v){
$stringData = $k . ' - ' . $v . "n";
fwrite($fh, $stringData);
}
}
//file_put_contents($filename, json_encode($dataArray));
}
fclose($fh);