Home > Blockchain >  Expand (json) object in php
Expand (json) object in php

Time:12-08

I want this sql-query result (from a log file, i hope it's accurate)

[
 {"id":"1","text":"123"}
,{"id":"2","text":"456"}
] []

to become this

{
 1: {"id":"1","text":"123"}
,2: {"id":"2","text":"456"}
}

I tried array_push and array_combine but am new to PHP and was unsuccessful so far.
Short: I want to add keys (starting with 1) to an array of objects.

One attempt

$i = 1;
while ($row = fetchRow($result)) {            
            array_push($arr_result, $row);
            array_push($i, $arr_result);
            $i  ;
        }

But $arr_result looks like the first code sample.

CodePudding user response:

You dont need $i using $arr_result[] will create a new occurance in your array.

while ($row = fetchRow($result)) { 
    // this forces the array to start at 1 instead of 0 if thats what you really want
    if (count($arr_result) == 0){
        $arr_result[1] = $row;
    } else {
        $arr_result[] = $row;
    }           
}

Or if the key is supposed to be the id from the row

while ($row = fetchRow($result)) { 
    $arr_result[$row['id']] = $row;
}
  •  Tags:  
  • php
  • Related