Php 将数组逐行存储到txt文件中
我不知道如何将整个数组存储到txt文件中。我的代码只存储foreach循环中最后运行的行Php 将数组逐行存储到txt文件中,php,arrays,file,Php,Arrays,File,我不知道如何将整个数组存储到txt文件中。我的代码只存储foreach循环中最后运行的行 $total_price = 0; foreach($_SESSION['shopping_cart'] as $id => $product) { $product_id = $product['product_id']; $total_price += $products[$product_id]['price'] * $product[
$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));
}
$total_price=0;
foreach($\会话['shopping\ u cart']作为$id=>$product){
$product_id=$product['product_id'];
$total_price+=$products[$product_id]['price']*$products['quantity'];
回声“
$“$products[$product_id]['price']
“$product[‘数量’]”
$”($products[$product_id]['price']*$product['QUOTE'])
“$products[$product_id]['picture']”
";
}
回声“
总价:$”$总价。“”;
$filename='Order'.date('m-d-Y_-hia')。.txt';
文件内容($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);
$filename='Order'.date('m-d-Y_-hia')。.txt';
$fh=fopen($filename,'w');
$total_price=0;
foreach($\会话['shopping\ u cart']作为$id=>$product){
$product_id=$product['product_id'];
$total_price+=$products[$product_id]['price']*$products['quantity'];
回声“
$“$products[$product_id]['price']
“$product[‘数量’]”
$”($products[$product_id]['price']*$product['QUOTE'])
“$products[$product_id]['picture']”
";
}
回声“
总价:$”$总价。“”;
foreach($\会话['shopping\ u cart']作为$id=>$product){
foreach($k=>v的产品){
$stringData=$k.'-'.$v.\n”;
fwrite($fh,$stringData);
}
}
//文件内容($filename,json_encode($dataArray));
}
fclose($fh);
最简单的方法是,首先在容器中收集所有值,然后写入文件,不要试图逐行写入。你说“我想这是因为我正在数组中初始化它”,变量是什么?如果你的代码中有$dataArray,你永远不会初始化这个变量。这个很好用,但它只存储通过第一个foreach循环迭代的最后一个值。对不起,昨晚我添加这个时已经很晚了。我更新了我的代码。检查一下,它现在应该可以工作了。