首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >手动将元素添加到获取数组的末尾

手动将元素添加到获取数组的末尾
EN

Stack Overflow用户
提问于 2014-01-13 20:23:19
回答 3查看 70关注 0票数 0

我在任何地方都找不到这方面的答案,而且我目前没有任何想法。

我有下面的循环,它是用来存储在数组中的,数组是数据库获取的资源

代码语言:javascript
运行
复制
    $posts = array();
      while ($row = mysql_fetch_assoc($result)){
          $posts[] = $row;
      }

          return $posts;

var_dump on $posts输出如下:

代码语言:javascript
运行
复制
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将如下所示:

代码语言:javascript
运行
复制
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)

有可能吗?如果是,怎么做?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-13 20:29:35

只需在追加之前修改$row即可。避免任何额外的开销

代码语言:javascript
运行
复制
$posts = array();
while ($row = mysql_fetch_assoc($result)){
      $row['type'] = 1;
      $posts[] = $row;
}
票数 3
EN

Stack Overflow用户

发布于 2014-01-13 20:27:55

您应该能够将值1的任意键添加到数组中,如下所示:

代码语言:javascript
运行
复制
$posts = array();
while ($row = mysql_fetch_assoc($result)){
      $posts[] = $row;
      $posts[count($posts)-1]["type"] = 1;
}

return $posts;

或者,如果您可以编辑SQL查询,也可以将1 as type添加到select的末尾,然后数据库将为您添加额外的列。

票数 2
EN

Stack Overflow用户

发布于 2014-01-13 20:44:25

这应该是可行的:

代码语言:javascript
运行
复制
while ($row = mysql_fetch_assoc($result)){
    $posts[] = array_merge($row, array(
        'type' => 1,
    ));
}

或者,也可以修改SQL查询以自动添加字段:

代码语言:javascript
运行
复制
$sql = 'SELECT *, 1 AS type FROM table';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21100662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档