我正在尝试将数组添加到现有数组中。我可以使用 array_push 添加数组。唯一的问题是,当尝试添加包含数组键的数组时,它会在现有数组中添加一个额外的数组。
如果我向你展示可能是最好的
foreach ($fields as $f)
{
if ($f == 'Thumbnail')
{
$thumnail = array('Thumbnail' => Assets::getProductThumbnail($row['id'] );
array_push($newrow, $thumnail);
}
else
{
$newrow[$f] = $row[$f];
}
}
上面的字段数组是从SQl查询动态提供的数组的一部分,然后将其输入到名为$newrow
的新数组中。但是,对于此$newrow
数组,我需要添加缩略图数组字段。
以下是上述代码中的输出(使用var_dump
)。代码的唯一问题是我不想在数组中创建一个单独的数组。我只需将它添加到数组中。
array(4) { ["Product ID"]=> string(7) "1007520"
["SKU"]=> string(5) "G1505"
["Name"]=> string(22) "150mm Oval Scale Ruler"
array(1) { ["Thumbnail"]=> string(77) "thumbnails/products/5036228.jpg" } }
我真的很感激任何建议。
答案 0 :(得分:2)
您可以使用array_merge功能
$newrow = array_merge($newrow, $thumnail);
答案 1 :(得分:2)
你真正想要的只是:
$newrow['Thumbnail'] = Assets::getProductThumbnail($row['id']);
答案 2 :(得分:1)
或者,您也可以直接将其分配给$ newrow:
if ($f == 'Thumbnail')
$newrow[$f] = Assets::getProductThumbnail($row['id']);
else
...
或者如果您希望缩短代码:
foreach($fields as $f)
$newrow[$f] = ($f == 'Thumbnail')? Assets::getProductThumbnail($row['id']) : $row[$f];
但是,如果您的代码中的行数已经获得报酬,请不要这样做,请保留您的代码:) j / k