我在任何地方都找不到这方面的答案,而且我目前没有任何想法。
我有下面的循环,它是用来存储在数组中的,数组是数据库获取的资源
$posts = array();
while ($row = mysql_fetch_assoc($result)){
$posts[] = $row;
}
return $posts;var_dump on $posts输出如下:
array (size=1)
0 =>
array (size=6)
0 =>
array (size=4)
'items' => string '16' (length=2)
'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29)
'item_price' => string '3500.00' (length=7)
'avatar' => string 'gallery/miniaturas/cf6772a2c2b72d575f11b41aee5a2f47.png' (length=55)
1 =>
array (size=4)
'items' => string '16' (length=2)
'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29)
'item_price' => string '3500.00' (length=7)
'avatar' => string 'gallery/miniaturas/a6bf82f38d930567a759eaef91d6fb30.png' (length=55)我想要做的是在每个数组的末尾添加一个带有键"type“和值"1”的静态值,因此var_dump将如下所示:
array (size=1)
0 =>
array (size=6)
0 =>
array (size=4)
'items' => string '16' (length=2)
'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29)
'item_price' => string '3500.00' (length=7)
'avatar' => string 'gallery/miniaturas/cf6772a2c2b72d575f11b41aee5a2f47.png'
'type' => int 1
(length=55)
1 =>
array (size=4)
'items' => string '16' (length=2)
'item_name' => string 'Blu-ray Disc Player BDP-S1100' (length=29)
'item_price' => string '3500.00' (length=7)
'avatar' => string 'gallery/miniaturas/a6bf82f38d930567a759eaef91d6fb30.png'
'type' => int 1
(length=55)有可能吗?如果是,怎么做?
谢谢。
发布于 2014-01-13 20:29:35
只需在追加之前修改$row即可。避免任何额外的开销
$posts = array();
while ($row = mysql_fetch_assoc($result)){
$row['type'] = 1;
$posts[] = $row;
}发布于 2014-01-13 20:27:55
您应该能够将值1的任意键添加到数组中,如下所示:
$posts = array();
while ($row = mysql_fetch_assoc($result)){
$posts[] = $row;
$posts[count($posts)-1]["type"] = 1;
}
return $posts;或者,如果您可以编辑SQL查询,也可以将1 as type添加到select的末尾,然后数据库将为您添加额外的列。
发布于 2014-01-13 20:44:25
这应该是可行的:
while ($row = mysql_fetch_assoc($result)){
$posts[] = array_merge($row, array(
'type' => 1,
));
}或者,也可以修改SQL查询以自动添加字段:
$sql = 'SELECT *, 1 AS type FROM table';https://stackoverflow.com/questions/21100662
复制相似问题