0

这是我的数组:

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

为什么这不起作用?

4

2 回答 2

1

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

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

这只是意味着该数组$mCOneC不包含任何正好是'Trial'. 您需要更彻底地检查原始数据为什么不匹配,例如使用var_dump具体值上的函数:

var_dump($mCOneC[1]);

这应该可以更清楚地了解您的问题。您使用的print_r功能并不像var_dump. 在浏览器窗口中查看内容时也要小心,也要查看浏览器的源视图。当您需要调试时,它比浏览器窗口显示的内容更好。

于 2012-10-24T14:51:03.163 回答
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);
于 2012-10-24T14:50:45.770 回答