[英]Sum of an array in php
我下面有一個while循環,用於運行查詢並將一些值拉回到關聯數組中,但是我似乎無法使用array_sum()將數組求和。
if ($availableBooks->num_rows > 0) {
while($row = $availableBooks->fetch_assoc()) {
$allBooks = $row["price"];
$totalCost = array_sum($allBooks);
echo $totalCost;
}
如果我自己回顯$ allBooks,則會得到“ 121”,它由數據庫中的“ 1”,“ 2”,“ 1”中的三個值組成,但是如您所見,我試圖將它們累加為得到的輸出為“ 4”。
目前,我沒有從上述任何輸出。
任何幫助,將不勝感激
您可以將價格添加到數組,然后在while循環之后使用array_sum()
if ($availableBooks->num_rows > 0) {
while($row = $availableBooks->fetch_assoc()) {
$allBooks[] = $row["price"];
}
$totalCost = array_sum($allBooks);
echo $totalCost;
}
如果這確實是您要測試的代碼,那么我會注意到一些事情:
$row['price']
直接分配給$allBooks
變量。 您想使用array_sum()
的事實使我認為,也許您的意圖是將所有價格保留在$allBooks
變量中作為數組,在這種情況下,您將必須執行$allBooks[] = ...
$totalCost
為每次迭代打印$totalCost
,因為它似乎位於基於縮進的while
循環中。 怎么樣?
if ($availableBooks->num_rows > 0) {
while ($row = $availableBooks->fetch_assoc()) {
$allBooks[] = $row["price"];
}
}
$totalCost = array_sum($allBooks);
echo $totalCost;
if ($availableBooks->num_rows > 0) {
$allBooks=array();
while($row = $availableBooks->fetch_assoc()) {
$allBooks[] = $row["price"];
}
$totalCost = array_sum($allBooks);
echo $totalCost;}
array_sum應該在while循環之外,嘗試一下上面的代碼讓我知道。
---------編輯----- jszobody解決方案比嘗試修復代碼要好得多。 那就是如果您不需要個別的書本價格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.