这是我的阵列:
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
为什么这不起作用?
答案 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);