2013-11-28 76 views
0

我需要哪些值可以存儲變量一樣哈希表的工作:如何聲明,插入和迭代一個關聯數組作爲值的php關聯數組?

  • $numberOfItems
  • $ItemsNames

如果我是沒有錯的,這將意味着像數組作爲價值的另一個哈希。

什麼應該是正確的插入和迭代它的語法?

是類似的東西:

$hash['anyKey']=>$numberOfItems=15; 
$hash['anyKey']=>$ItemsNames=['f','fw']; 

有效嗎?

+0

爲什麼你會儲存元素的個數分別,當你可能只是輕鬆搞定用count()'正確的數字?請做一個更詳盡的例子,說明你正在努力完成什麼。 – mario

回答

1

如果沒有機會在項目名稱勾結,您可以使用名稱鍵

$hash[$ItemsName] = $numberOfItems; 

在另一種情況下,例如使用一個整數作爲關鍵字,然後將不同的「屬性」作爲第二個數組的鍵

$hash[$integer]["count"] = $numberOfItems; 
$hash[$integer]["name"] = $name;$ 

然後,迭代(第一種情況):

foreach ($hash as $name => $number) { 
     echo $number; 
     echo $name; 
    } 

,或者第二種情況

foreach ($hash as $item) { 
     echo $item["name"]; 
     echo $item["count"]; 
    } 
1

要創建PHP數組,它可以是一個哈希表,你可以這樣做:

$arr['element'] = $item; 
$arr['element'][] = $item; 
$arr['element'][]['element'] = $item; 

其他方式:

$arr = array('element' => array('element' => array(1))); 

遍歷它使用foreach循環:

foreach ($items as $item) { 
} 

也可以創建嵌套循環。

關於你的情況:

$hash['anyKey']=>$numberOfItems=15; 
$hash['anyKey']=>$ItemsNames=['f','fw']; 

我會做:

$hash['anyKey']['numberOfItems'] = 15; 
$hash['anyKey']['ItemsNames'] = array('f','fw'); 
+0

如果我需要將任何內容推送到'$ hash ['anyKey'] ['ItemsNames']'? – diegoaguilar

+0

'$ hash ['anyKey'] ['ItemsNames'] [] ='一些新值';''[]'將創建新的數字增量鍵。 –

+0

不,我的意思是,如果你聲明'$ hash ['anyKey'] ['ItemsNames'] = array('f','fw');'我怎樣才能使這樣的數組成爲'('f',' fw','zz')'' – diegoaguilar