2009-05-19 75 views
0

我想PHP內通過鍵值對:PHP的鍵值對與陣列

// "initialize" 
private $variables; 
// append 
$this->variables[] = array ($key = $value) 
// parse 
foreach ($variables as $key => $value) { 
    //.. 
} 

但似乎新的陣列中添加的,而不是附加的鍵/值,也沒有迭代工作如預期。請讓我知道正確的方法是什麼。

解決方案

$this->variables[$key] = $value; 

的伎倆 - 如上所述的迭代工作。

+0

閱讀關於PHP [陣列(http://php.net/manual/en/function.array.php)。 – axiac 2016-03-06 08:13:44

回答

6

我想你可能會尋找:

$this->variables[$key] = $value; 

你擁有了它,現在你正在創建一個數組的數組的方式,所以你必須這樣做:

foreach($this->variables as $tuple) { 
    list($key, $value) = $tuple; 
} 
+0

非常感謝Paolo,你救了我的傍晚;) – MrG 2009-05-19 23:13:36

0

參考到Perl,但有助於理解哈希和數組之間的區別:

有些人認爲散列就像數組(舊名稱'關聯數組')也指出這一點,而在其他一些l語言,比如PHP,數組和哈希之間沒有區別),但是數組和哈希之間有兩個主要區別。數組是按順序排列的,您可以使用數字索引訪問數組的元素。散列是無序的,你可以使用一個字符串鍵來訪問一個值。

來源:http://perlmaven.com/perl-hashes