0

我有一个名为 $bigArrayWithLinks 的数组,它在每个元素中存储一个带有 url 的字符串。这是来自 var_dump 的示例:

array
  0 => string 'http://en.wikipedia.org/wiki/England' (length=36)
  1 => string 'http://www.bbc.co.uk/news/england/' (length=34)
  2 => string 'http://www.thefa.com/' (length=21)
  3 => string 'http://www.thefa.com/England/' (length=29)

我想要做的是遍历数组,为每个元素添加一个整数值'0',这样它就变成了

array
  0 => string 'http://en.wikipedia.org/wiki/England' => int '0'
  1 => string 'http://www.bbc.co.uk/news/england/'  => int '0'
  2 => string 'http://www.thefa.com/'  => int '0'
  3 => string 'http://www.thefa.com/England/'  => int '0'

我试过:

for($x=0; $x<sizeof($arr); $x++)
{
    $score = $arr[$x]['score'];
    $score = '0';
}

我对 php 很陌生,所以我对它不起作用并不感到惊讶。有人可以帮帮我吗?提前致谢!

4

3 回答 3

1
foreach($bigArrayWithLinks as $key => $url) {
  $bigArrayWithLinks[$key] = array('url' => $url, 'x' => 0);
}
于 2012-07-04T12:24:48.690 回答
1

您对 PHP 数组感到困惑。

数组是一个索引(或使用关联数组时的哈希),它具有 1(!) 值。该值可以是另一个数组。

你的第二个例子(你想要的)只是显示:

0 => string 'http://en.wikipedia.org/wiki/England' => int '0'

那没有意义。

我希望你真正想要的是这样的结构:

$mySiteScore = array(
 array('url'=>'http://en.wikipedia.org/wiki/England', 'score' =>0),
 array('url'=>'http://www.bbc.co.uk/news/england/', 'score' =>0),
 array('url'=>'http://www.thefa.com/', 'score' =>0)
);

这样你就创建了一个关联数组的数组。关联数组可以使用描述性键,例如“url”或“score”。现在,如果要添加所有分数:

$totalScore = 0;
foreach ($mySiteScore as $oneSiteScore){
  $totalScore = $totalScore  + $oneSiteScore['score'];
}

或者:创建两个单独的数组:一个带有 URL,另一个带有分数。但是您必须确保索引匹配。

于 2012-07-04T12:28:03.130 回答
0

只需制作另一个一维零数组,索引将是相同的。

在几乎所有编程语言中,如果不重新分配和复制到新容器,“新维度”是不可能的。

于 2012-07-04T12:21:00.607 回答