关联数组覆盖条目php

时间:2017-03-27 18:38:26

标签: php arrays

我正在尝试构建一个关联数组来保存以下信息。网址,字词和频率(该网页上该字词的出现次数)。

我希望能够访问我为url和word输入字符串并接收频率的信息,如下所示:

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

现在我一次从数据库中提取信息并尝试以下操作:

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

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

感谢。

编辑: 我在while循环中为数组赋值。我犯了在循环中初始化数组的错误。我没有覆盖参赛作品 无意中重新初始化阵列。那是我的问题。

2 个答案:

答案 0 :(得分:2)

您每次都将Object[] aNum = {1, 2}; Object[] aStr = {"1", "2"}; for (int i = 0; i < aNum.length; i++) { doSomeThing(aNum[i]); doSomeThing(aStr[i]); } 重新分配为新阵列。使用完整路径:

$test["$url"]

此外,无需报价。

答案 1 :(得分:1)

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

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

但是,这看起来非常像尝试构建已经构建的关联数组。