2013-01-12 55 views
0

當我設置一個全局數組,因爲這數組長度計數不匹配

$items[$users[$clientID]['room']] = array("seat" => $seat, "item_id" => $q[1], "room" => $users[$clientID]['room']); 

$items[4] = array("seat" => 20, "item_id" => 10, "room" => 4); 

但是當我做計數告訴它的$長度項[4]是3?它應該只計數1,因爲我只有「1」項。

for ($i=0;$i<count($items[$users[$clientID]['room']]);$i++): 
    //something 
endfor; 

print_r($items[$users[$clientID]['room']]); 

輸出:

Array 
( 
    [seat] => 43 
    [item_id] => 46 
    [room] => 5 
) 
COUNT 3 

我到底做錯了什麼?

+1

關於什麼的'計數($項目)'? –

+0

如果包含三個項目的數組,然後顯然它會顯示計數爲3 – Sky

回答

2

您已經將$ items [$ users [$ clientID] ['room']]定義爲一個數組:但是包含三個項目的數組 - 座位,item_id和空間 - 並且它們是您所使用的單個數組項目數數。

1

$items[$users[$clientID]['room']]是一個數組,count()返回任何元件的陣列中的,如果計數的值不是數組它將返回1.請參閱此鏈接的詳細信息有關count功能。

Count Function - PHP

+0

是的好,那麼我怎麼能數組數$ items [.....]? –

+0

你需要運行一個'foreach'循環並使用'is_array'函數。 – Ravi

+0

$ itemCount = count($ items); –