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

我有以下问题,假设我正在查询 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 )



手掌心
浏览 64回答 1
1回答

浮云间

您可以像此示例一样获取结果,然后使用 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)
打开App,查看更多内容
随时随地看视频慕课网APP