计算PHP数组值,只有第一个有效吗?

时间:2012-10-24 14:42:56

标签: php arrays

这是我的阵列:

print_r($mCOneC);
  

=>数组([0] =>开始[1] =>试用[2] =>拒绝[3] =>驱逐[4] =>口清洁)

如果我这样做:

$length = count( array_keys( $mCOneC, 'start' ));

echo $length;

我得到:1

如果我这样做:

$length = count( array_keys( $mCOneC, 'Trial' ));

echo $length;

我得到:0

为什么这不起作用?

2 个答案:

答案 0 :(得分:1)

array_keys并不骗你。对于您的第二个示例,您遇到了返回零的问题:

count(array_keys($mCOneC, 'Trial'));

这只意味着数组$mCOneC不包含任何完全'Trial'的字符串。您需要更彻底地检查原始数据不匹配的原因,例如使用具体值上的var_dump函数:

var_dump($mCOneC[1]);

这应该为你的问题提供更多的启示。您使用的print_r函数与var_dump不具体相关。在浏览器窗口中查看内容时也要小心,也要查看浏览器的源视图。当您需要调试时,它显示的内容比浏览器窗口更好。

答案 1 :(得分:0)

简单就是处理空间

$mCOneC = Array(
        0 => "start",
        1 => "Trial ",
        2 => "Refusal",
        3 => "Expel",
        4 => "Mouth Clean");


$mCOneC = array_map("trim", $mCOneC); <------------- Fix Spaces
$length = count( array_keys( $mCOneC, 'start' ));
var_dump($length);


$length = count( array_keys( $mCOneC, 'Trial' ));
var_dump($length);