我目前刚接触编码,我正在尝试完成一项练习。我已经试着自己解决这个问题,现在几个小时以及我的生活我似乎无法做到正确......这就是问题:
''使用键创建一个数组:“one”,“two”,“three”,“four”和
“five”和值:1,2,3,4,5。使用foreach循环将所有键和值添加到数组中,格式为:["key"=value, "key"=value, etc]
。使用implode()将答案作为一个字符串,所有项目用a分隔
逗号,
。''
我写的代码如下:
$words = ["one", "two", "three", "four", "five"];
$numbas = [1, 2, 3, 4, 5];
$combined = array_combine($words, $numbas);
foreach ($combined as $key => $value) {
$forimplode = "$key = $value";
}
$imploded = implode(",", $forimplode);
$ANSWER = $imploded;
对我来说,这看起来很好,但是,我不知道出了什么问题。我真的不...哈哈..我感谢所有的帮助,我一定会从错误中吸取教训。
答案 0 :(得分:2)
对我来说,这看起来很不错
对我而言 - 不是。因为foreach
的每次迭代都会使用新的字符串值覆盖 $forimplode
。相反,$forimplode
应声明为数组,并且在每次迭代时,应将新字符串作为新项添加到$forimplode
:
$forimplode = array();
foreach ($combined as $key => $value) {
$forimplode[] = "$key = $value";
}
$imploded = implode(",", $forimplode);
答案 1 :(得分:1)
每次for循环运行时,您都在重新声明数组。试试这个:
$forimplode = array();
foreach ($combined as $key => $value) {
$forimplode[] = "$key = $value";
}