[英]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.