2012-10-24 40 views
0

這是我的數組:計數PHP數組值,只有第一個有效?

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

任何理由,這是不工作?

+1

請通過提供您如何定義(構建)您的陣列來幫助我們。 – matthias

+0

我無法重現此問題。你如何創建數組? –

+0

在我的本地主機上,兩個Lenghts的結果都是1 ... – Svetoslav

回答

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); 
1

array_keys不騙你。對於你的第二個例子中,你遇到的問題與返回的零:

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

這只是意味着數組$mCOneC不包含任何字符串,這正是'Trial'。你需要與具體的值var_dump功能更徹底檢查,爲什麼它不匹配的原始數據,例如:

var_dump($mCOneC[1]); 

這應該擺脫更多的光線進入您的問題。您使用的print_r功能與var_dump不同。在瀏覽器窗口中查看內容時還要小心,同時查看瀏覽器的源代碼視圖。當您需要調試時,它比瀏覽器窗口顯示的東西更好。

相關問題