Преобразовать массив Laravel - PullRequest
0 голосов
/ 09 июня 2018

Я использую Laravel Framework и у меня есть массив:

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

Не могли бы вы помочь мне преобразовать его в новый формат, такой как:

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

Большое спасибо.

Ответы [ 3 ]

0 голосов
/ 09 июня 2018
$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));
0 голосов
/ 09 июня 2018

Исходя из вашего вывода, вы хотите индекс приращения в качестве ключа

$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);
0 голосов
/ 09 июня 2018
$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;
...