Janp
Janp

Reputation: 55

How to add an array to a nested array

My PHP Code is the following, I need some assistance please:

//DB connection
$result = mysqli_query($con,"SELECT * FROM `clients`");
$info = array();
$count = 0;
$meta = array('page' => 1, 'pages' => 1, 'perpage' => -1, 'total' => 14, 'sort' => "asc", 'field' => "ID");

while ($row = $result->fetch_array(MYSQLI_ASSOC)) {

    $info[$row['clientid']]['id'] = $row['id'];
    $info[$row['clientid']]['name'] = $row['name'];
    $info[$row['clientid']]['email'] = $row['email'];
    $info[$row['clientid']]['cell'] = $row['cell'];

    $count++;
}

$data = json_encode(array_values($info));

echo $data;

My Result;

[{"ID":1,"name":"A","email":"[email protected]","cell":"082"}, 
 {"ID":2,"name":"B","email":"[email protected]","cell":"083"}, 
 {"ID":3,"name":"C","email":"[email protected]","cell":"079"}]

The JSON should add the meta array with the following result:

{"meta": 
       {"page": 1,"pages": 1,"perpage": -1,"total": 3,"sort": "asc","field": ID"},
 "data": [{"ID":1,"name":"A","email":"[email protected]","cell":"082"}, 
          {"ID":2,"name":"B","email":"[email protected]","cell":"083"}, 
          {"ID":3,"name":"C","email":"[email protected]","cell":"079"}]
},

Upvotes: 1

Views: 43

Answers (1)

u_mulder
u_mulder

Reputation: 54796

Create array of required structure and json_encode it:

$data = json_encode(array(
    'meta' => $meta,
    'data' => array_values($info),
));

Upvotes: 3

Related Questions