数组的键和值为字符串

时间:2017-10-09 19:22:34

标签: php arrays

我目前刚接触编码,我正在尝试完成一项练习。我已经试着自己解决这个问题,现在几个小时以及我的生活我似乎无法做到正确......这就是问题:

''使用键创建一个数组:“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;

对我来说,这看起来很好,但是,我不知道出了什么问题。我真的不...哈哈..我感谢所有的帮助,我一定会从错误中吸取教训。

2 个答案:

答案 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";
    }