2017-03-27 55 views
1

我想构建一个关联数组来保存下列信息。网址,单词和频率(该网页上该单词的出现次数)。关联数组覆盖条目php

我希望能够访问,我输入一个字符串的URL和文字信息和接收频率,这样的:

$test["somewhere.com"]["biology"] => 5 
$test["somewhere.com"]["auto"] => 10 
$test["elsewhere.com"]["biology"] => 7 

现在我拉出的信息分贝之一一次一排,我正在尝试以下操作:

$test["$url"] = array("$word" => "$freq"); 

每次迭代后都会被写入。如何更改语法以避免这种情况?是否有可能建立我想要的结构?

感谢。

编辑: 我在while循环中给数组赋值。我犯了在循环内初始化数组的错误。我没有覆盖条目,我是 无意中重新初始化数组。那是我的问题。

+0

你放弃了吗? – AbraCadaver

+0

@AbraCadaver见编辑。感谢帮助 – overboard182

回答

2

您每次都重新指定$test["$url"]作为新阵列。使用完整路径:

$test[$url][$word] = $freq; 

另外,不需要引号。

1

而不是覆盖第一级内容,为它声明一个新的属性。 (不知道你是如何让你的网址,文字和频率,下面只是一个例子)

$test = [] 
foreach($urls as $url => $words) { 
    $test[$url]=[]; 
    foreach($words as $word => $freq) { 
     $test[$url][$word] = $freq; 
    } 
} 

然而,这看起来非常像试图建立一个已经建立了一个关联数组。