我可以在PHP中进行数组哈希吗?

时间:2012-03-29 18:19:44

标签: php multidimensional-array hashtable

我目前正在尝试创建一个像这样的数组哈希表:

joe
   => 1
   => 2
pete
   => 1
   => 3

我的PHP代码如下所示:

$name = array(); 

while(my condition statement) { 
    if (preg_match("/(.+?)\s*\-\s*(.+?)/", $info)) {                

        list($name, $number) = split('\s*\-\s*', $info);                
        array_push($name,$number);

    }
}

$_SESSION['info'] = $name;

我的外出看起来像这样:

[0] => 1 [1] => 2

为什么名称没有出现?

我知道Perl我总是做这样的事情:

while() {
    push @{$hash{$name}}, $number
}

2 个答案:

答案 0 :(得分:2)

正确指定索引:

$array['joe'][] = 1;
$array['joe'][] = 2;
$array['pete'][] = 1;
...

在您的示例中类似于:

$array[$name][] = $number;

虽然我在while循环中覆盖$ name时并没有真正得到你的代码。

答案 1 :(得分:1)

$names = array(); 

// [...]

list($name, $number) = split('\s*\-\s*', $info);
$names[$name][] = $number;