繁体   English   中英

将维度添加到1d数组

[英]add dimension to 1d array

我有一个名为$ 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很新,所以我并不感到惊讶它不起作用。 有人可以帮帮我吗? 提前致谢!

foreach($bigArrayWithLinks as $key => $url) {
  $bigArrayWithLinks[$key] = array('url' => $url, 'x' => 0);
}

您对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,另一个包含分数。 但是你必须确保索引匹配。

只需制作另一个1D的零数组,索引也是一样的。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM