这是我的代码:
foreach($total_columns as $value){
echo "<td><b>{$value}</b></td>";
}
每个$值被回显两次,一个用于数字键,一个用于关联键。我该如何阻止这种情况发生?
答案 0 :(得分:2)
我猜你的数组来自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
答案 1 :(得分:0)
1)首先从$ total_columns中删除双键。
2)检查密钥是字符串还是整数。
foreach($total_columns as $key => $value){
if(gettype($key) == "integer"){
...
}
}
中的array_unique
答案 2 :(得分:0)
好吧,如果你只是想让你的代码工作而不关心它为什么不尝试这个:
for($i=0;$i<sizeof($total_columns);$i++)
{
echo "<td><b>{$value}</b></td>";
}
答案 3 :(得分:0)
print_r($total_columns);
结果:
[13] => 100 [goods_total] => 100 [14] => 100 [vat_total] => 100 [15] => 200 [gross_total] => 200
当您尝试使用foreach打印它们时,很明显会出现重复值。
如果您可以调查$ total_columns中没有重复值,那就太棒了。仍然无法理解你从哪里得到它们。
让我们知道它的起源。
感谢
答案 4 :(得分:0)
或者只是阅读mysql_fetch_array()手册并实际正确使用第二个参数(默认:MYSQL_BOTH /您的选择:MYSQL_ASSOC)。