2013-01-12 57 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); –