2009-05-19 83 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