2012-07-12 138 views
2

也许我错过了一些真的很明显但是这个代码不工作:PHP array_count_values返回一个空数组

<pre> 
<?php print_r(($progress)); ?> 
<?php print_r(array_count_values ($progress)); ?> 
</pre> 

输出是这样的:

Array 
(
    [0] => 1 
    [1] => 1 
    [2] => 1 
    [3] => 1 
    [4] => 1 
    [5] => 1 
    [6] => 1 
) 
Array 
(
) 

这里有什么问题?为什么array_count_values返回一个空数组?

+3

在[codepad]上工作正常(http://codepad.org/YaiIY52y) – hjpotter92 2012-07-12 09:16:03

+0

那么问题是什么可以在我的系统(PHP版本5.3)? – 2012-07-12 09:17:49

+0

你可以显示'var_export($ progress);'的结果吗? – Dador 2012-07-12 09:19:05

回答

5

array_count_values只适用于stringinteger值。我的猜测是:您在$progress内储存booleans。在将它们添加到$progress之前,您可以将它们投射到int

+2

这会引发一个错误...但是如果错误报告是关闭的..这可能只是问题... – Lix 2012-07-12 09:20:11

+0

你是对的,这是问题所在!请将 – 2012-07-12 09:22:32

+0

标记为正确答案;) – cweinberger 2012-07-12 09:52:54