为了账号安全,请及时绑定邮箱和手机立即绑定

通过 php 将新元素添加到 MySQL 查询的结果中

通过 php 将新元素添加到 MySQL 查询的结果中

PHP
手掌心 2023-12-15 15:38:33
我有以下问题,假设我正在查询 MySQL 数据库以获得以下数组:Array ( [0] => Array ( [topicid] => 4 ) [1] => Array ( [topicid] => 5 ) [2] => Array ( [topicid] => 6 ) )这些是我从以下 SQL 请求中得到的结果 $sql=$db->query("SELECT topicid from opentopics WHERE userid=?","$userid")->fetchAll();此查询为我提供了向某些用户 ID 打开的主题列表。现在有几个ID最多为3的主题向所有人开放,所以我也想在我的网页上使用它们。这些主题不会在 opentopics 表中打开,而是根据 ID(小于 3)提供给每个人。所以问题如下,如何修改从 MySQL 请求获得的多维(我假设)数组,如何将 3 个新条目添加到上述数组的开头,使其看起来像:Array ( [0] => Array ( [topicid] => 1 ) [1] => Array ( [topicid] => 2 ) [2] => Array ( [topicid] => 3 ) [3] => Array ( [topicid] => 4 ) [4] => Array ( [topicid] => 5 ) [5] => Array ( [topicid] => 6 ) )正如您可能在我的文本编辑器中注意到的那样,我已通过添加以下内容手动编辑了数组的文本[0] => Array ( [topicid] => 1 ) [1] => Array ( [topicid] => 2 ) [2] => Array ( [topicid] => 3 )
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

您可以像此示例一样获取结果,然后使用 array_merge


$mysqli = new mysqli('localhost', 'root', '', 'test');


$manual = array(

    [ 'id' => 9 , 'first_name' => 'John9' , 'last_name' => 'Doe9'] ,

    [ 'id' => 19 , 'first_name' => 'John19' , 'last_name' => 'Doe19']

);


$sql = " SELECT * from users ";

$result = $mysqli -> query($sql);

$rows   = $result -> fetch_all(MYSQLI_ASSOC);


$results = array_merge($manual , $rows);

结果会是这样的


Array

(

    [id] => 9

    [first_name] => John9

    [last_name] => Doe9

)

Array

(

    [id] => 19

    [first_name] => John19

    [last_name] => Doe19

)

Array

(

    [id] => 1

    [first_name] => John

    [last_name] => Doe

)

Array

(

    [id] => 2

    [first_name] => John3

    [last_name] => Doe

)

Array

(

    [id] => 4

    [first_name] => John4

    [last_name] => Doe

)


查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 56 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信