Массив:
Array ( [0] => Array ( [dnu] => 121428 [d1] => 43 [d3] => 27 [d7] => 20 [d15] => 15 [d30] => 12 ) )
я хочу что-то вроде этого:
[{"col":"dnu","value":121428},{"col":"d1","value":"43"},{"col":"d7","value":"20"}]
$ p = $ stmt-> выборка (PDO :: FETCH_ASSOC); foreach ($ p как $ key => $ value) {$ data ['col'] = $ key; $ data ['значение'] = $ значение; } echo json_encode ($ data); // вывод: {"col": "d30", "value": "12"}. он дает только последнее значение массива, которое переопределяет ту же переменную ($ data). Как я могу получить должное значение?






Попробуй это.
$result = [];
foreach($array as $col => $value) {
$result[] = [
'col' => $col,
'value' => $value
];
}
$json = json_encode($result);
Тогда отметьте это как ответ :)
Попробуйте так с foreach() и json_encode()
<?php
$array = array ( array ( 'dnu' => 121428, 'd1' => 43, 'd3' => 27, 'd7' => 20, 'd15' => 15, 'd30' => 12 ) );
$result = [];
foreach($array[0] as $key=>$value){
$result[] = ['col'=>$key,'value'=>$value];
}
echo json_encode($result);
?>
Вы должны зациклить массив с помощью json_encode.