-2

I use Laravel framework and I have an array:

[▼
  "0.022" => "24.00000000"
  "0.013" => "506.00000000"
  "0.041" => "65.00000000"
]

Could you help me to convert it to new format like this:

[▼
  0 => {▼
    "xxx": 0.022
    "yyy": 24.00000000
  }
  1 => {▼
    "xxx": 0.013
    "yyy": 506.00000000
  }
  2 => {▼
    "xxx": 0.041
    "yyy": 65.00000000
  }
]

Thank you very much.

Dang Cong Duong
  • 486
  • 6
  • 9

3 Answers3

1
$inputArray=array(
  "0.022" => "24.00000000"
  "0.013" => "506.00000000"
  "0.041" => "65.00000000"
);



 $outputArray=array();

 foreach($inputArray as $key=>$val)
 { 
   $obj['xxx']= $key;
   $obj['yyy']= $val;
   array_push($outputArray,$obj)
 }

 echo $outputArray;
Saurabh Mistry
  • 12,833
  • 5
  • 50
  • 71
1
$array = [
"0.022" => "24.00000000",
"0.013" => "506.00000000",
"0.041" => "65.00000000"
];

$data=array();
foreach($array as $key=>$value)
{
    $data[]= ['xxx'=>$key,'yyy'=>$value];
}

echo "<pre>";
echo(json_encode($data));
Sachin Aghera
  • 486
  • 3
  • 8
1

Based on your output, you want increment index as the key

$item = [
   '0.022' => '24.00000000',
   '0.013' => '506.00000000',
   '0.041' => '65.00000000'
];

$output = [];
$count = 0;
foreach($item as $key => $value) {
    $output[$count]['xxx'] = $key;
    $output[$count]['yyy'] = $value;
    $count++;
}

echo json_encode($output);
ZeroOne
  • 8,996
  • 4
  • 27
  • 45