【问题标题】:Add array into an associative array using php使用php将数组添加到关联数组中
【发布时间】:2016-08-24 10:03:11
【问题描述】:

我有一个来自 MySQL 数据库记录的数组 $items:

$result = array();
$result["total"] = 105;

$sql = "SELECT id, firstname, lastname FROM users LIMIT 10, 20";
$result = $conn->query($sql);

$items = array();
    while($row = mysqli_fetch_object($result)){
        array_push($items, $row);
    }

我想用键“rows”将它添加到关联数组 $result。

我试过这个代码

$result["rows"] = $items;

但是 print_r($items);什么都不显示。

最后我想要的json是:

{
   "total":"105",
   "rows":[
      {
         "id":"3",
         "firstname":"fname1234BBBB",
         "lastname":"lname10....",
         "phone":"Lacock 4919999",
         "email":"name991@gmail.com"
      },

我做错了什么?谢谢

【问题讨论】:

  • print_r($result) 显示什么?
  • 在循环内使用$result["rows"][] = $row;

标签: php mysql arrays json


【解决方案1】:
    //First don't overwrite $result varaible.
    $result_associative = array();
    $result_associative["total"] = 105;

    $sql = "SELECT id, firstname, lastname FROM users LIMIT 10, 20";
    $result = $conn->query($sql);

    $items = array();
        while($row = mysqli_fetch_object($result)){
            array_push($items, $row);
           //push the item into array with associative key
        $result_associative['rows'][] = $row;
        }

【讨论】:

  • 删除循环内的这一行array_push($items, $row);
  • @devpro,他可能会将此变量用于其他用途。
  • 感谢 Kristiyan - 按我的意愿工作。感谢您的评论。
【解决方案2】:

试试这个代码..

$resultArr = array();
$resultArr["total"] = 105;

$sql = "SELECT id, firstname, lastname FROM users LIMIT 10, 20";
$result = $conn->query($sql);

while($row = mysqli_fetch_object($result)){
    $resultArr["rows"][] = $row;
}
echo json_encode($resultArr);

【讨论】:

  • @peter300 欢迎亲爱的很高兴帮助您请投票并接受有用的答案,以便将来的用户轻松选择最佳答案:)
猜你喜欢
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-23
  • 2021-11-27
  • 1970-01-01
相关资源
最近更新 更多