2013-06-12 48 views
0

這是我的代碼:PHP:我的foreach循環給了我每個元素的兩個值,我該如何阻止它回聲呢?

foreach($total_columns as $value){ 
    echo "<td><b>{$value}</b></td>"; 
} 

每個$值正在呼應了兩次,一個是數字鍵和一個用於關聯的關鍵。我如何阻止這種情況發生?

+0

'$ total_columns'包含什麼? – Joe

+0

'print_r($ total_columns);'你期望的是什麼? – Dale

+0

這是一個數字和空格的數組。它包含報告中每一列的總數,但如果報告值不是數字,則它只是有一個空格。 – Sw1sh

回答

2

array_unique我猜你的陣列來自於一個MySQL記錄? 如果是這樣,那麼在那裏使用mysql_fetch_assoc

mysql_fetch_array would output => 
array 
(
    [0] => "1" 
    "foo" => "1" 
    [1] => "2" 
    "bar" => "2" 
) 


mysql_fetch_assoc outputs => 
array 
(
    "foo" => "1" 
    "bar" => "2" 
) 

這可能是,你的雙重條目來自哪裏。 如果是這樣,請參閱該文檔here

+0

現貨!太感謝了! – Sw1sh

+0

不客氣! :) – Yami

+0

Atleast添加一個鏈接到http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php –

0

那麼,如果你只是想使你的代碼的工作,不關心它爲什麼不試試這個:

for($i=0;$i<sizeof($total_columns);$i++) 
{ 
    echo "<td><b>{$value}</b></td>"; 
} 
+0

而在這個例子''價值'來自哪裏? – Dale

0
print_r($total_columns); 

結果:

[13] => 100 [goods_total] => 100 [14] => 100 [vat_total] => 100 [15] => 200 [gross_total] => 200 

很明顯,當您嘗試使用foreach打印它們時會得到重複的值。

如果您可以調查$ total_columns中不存在重複值,那將會很棒。仍然無法理解你從哪裏得到它們。

讓我們知道它的起源。

感謝

0

或者只是閱讀mysql_fetch_array()的手冊和實際正確使用第二個參數(默認:MYSQL_BOTH /你的選擇:MYSQL_ASSOC)。

相關問題