我正尝试将值为“johnsmith”的键“username”添加到每个数组中,但无法使其正常工作。
下面是生成数组的代码:
foreach($rows as $row)
{
$csv[] = array_combine($header, $row);
}
以下是数组输出:
[0] => Array (
[Date] => 4/22/2018
[Calories Burned] => 3,178
[Steps] => 9,966
[Distance] => 4.86
[Floors] => 8
[Minutes Sedentary] => 762
[Minutes Lightly Active] => 204
[Minutes Fairly Active] => 79
[Minutes Very Active] => 51
[Activity Calories] => 1,778
)
[1] => Array (
[Date] => 4/23/2018
[Calories Burned] => 3,284
[Steps] => 9,671
[Distance] => 4.69
[Floors] => 9
[Minutes Sedentary] => 805
[Minutes Lightly Active] => 180
[Minutes Fairly Active] => 101
[Minutes Very Active] => 68
[Activity Calories] => 1,903
)
[2] => Array (
[Date] => 4/24/2018
[Calories Burned] => 3,714
[Steps] => 12,312
[Distance] => 5.92
[Floors] => 6
[Minutes Sedentary] => 676
[Minutes Lightly Active] => 239
[Minutes Fairly Active] => 131
[Minutes Very Active] => 84
[Activity Calories] => 2,462
)
我尝试了以下代码,但它只是覆盖了数组:
$csv += [ "username" => johnsmith ];
任何帮助都将不胜感激。
时间
发布于 2018-08-20 02:36:56
您必须将其单独插入到每一行:
foreach($rows as $row) {
$csv[] = array_merge(
array_combine($header, $row),
array('username' => $johnsmith, 'anything' => 'else')
);
}
发布于 2018-08-20 17:45:03
我总是喜欢尽可能少地修改现有代码的解决方案,所以我的解决方案如下:
foreach ($rows as $row) {
$csv[] = array_combine($header, $row) + ["username" => "johnsmith"];
}
说明:只需将任何附加值作为数组添加到array_combine()
的结果中即可。
发布于 2018-08-20 02:41:03
下面是一个示例:
foreach($rows as $row) {
$newArray=array_combine($header, $row);
$newArray["username"]="johnsmith";
$csv[] = $newArray;
}
https://stackoverflow.com/questions/51920693
复制相似问题