![](/img/trans.png)
[英]add value to result from mysql query that will be JSON encoded in PHP?
[英]Add new elements to the result from MySQL query via php
我有以下問題,假設我正在查詢 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 )
你可以像這個例子一樣獲取你的結果然后使用 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
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.