Удалить массив из Json в PHP - PullRequest
0 голосов
/ 18 марта 2019

привет, у меня есть бэкэнд с php в cpanel, и у меня проблема с одним из jsons. это часть моего php кода:

    ...

    }elseif ($work == "dollardate") {

    $query3 = "SELECT * FROM tabl_dollar_date";

    $result3 = $connect->prepare($query3);

    $result3->execute();

    $out3 = array();

    while ($row3 = $result3->fetch(PDO::FETCH_ASSOC)) {

        $record3 = array();

        $record3["dollar"] = $row3["dollar"];

        $record3["date"] = $row3["date"];



        array_push($out3, $record3);

    }
    echo json_encode($out3);
}

?>

этот код показывает это в json:

[  
   {  
      "dollar":"15000",
      "date":"1397-12-12"
   }
]

как можно удалить массив из json и показать json следующим образом:

  {  
      "dollar":"15000",
      "date":"1397-12-12"
   }

Ответы [ 2 ]

2 голосов
/ 18 марта 2019

Самый простой способ (по его коду):

изменить строку

echo json_encode($out3);

на

echo json_encode($out3[0]);
0 голосов
/ 18 марта 2019

Одним из решений является то, что если вы просто хотите получить последнее значение (в случае, если в таблице несколько записей), измените SELECT на упорядочение по убыванию даты, а также установите LIMIT на 1, чтобы в любом случае получить только 1 запись, и удалитецикл для извлечения данных и просто извлечения 1 записи ...

$query3 = "SELECT `date`, `dollar`
    FROM `tabl_dollar_date`
    ORDER BY `date` desc
    LIMIT 1";
$result3 = $connect->prepare($query3);
$result3->execute();
$row3 = $result3->fetch(PDO::FETCH_ASSOC);
echo json_encode($row3);

Поскольку вы знаете, какие поля вы хотите получить из SELECT, хорошо просто извлекать эти поля, а не всегда использовать *.Это также означает, что, поскольку результирующий набор содержит только поля после, вы можете напрямую json_encode() результирующий набор, а не извлекать поля из одного массива в другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...