#php
#php
Вопрос:
Я хочу сгенерировать json такого типа:
{
"message": [
[
"message":"ok"
]
]
}
но я пытаюсь сделать это без sql-запроса, только используя php, который может сделать это только таким образом :
{
"message": [
[
"ok"
]
]
}
Мой код следующий…
$respuesta["message"] = array();
if (mail($to, utf8_decode($subject), utf8_decode($message), $header)) {
$tmp = array();
$tmp=["ok"];
array_push($respuesta["message"], $tmp);
echo json_encode($respuesta);
} else {
$tmp = array();
$tmp=["no"];
array_push($respuesta["message"], $tmp);
echo json_encode($respuesta);
}
Комментарии:
1.Изучайте PHP. Синтаксис ассоциативного массива
['key' => 'value']
, напримерarray_push($respuesta["message"], ['message' => $tmp]);
2. Ваш JSON
[ "message":"ok" ]
недействителен. Должны быть фигурные скобки{}
Ответ №1:
Ваш код, генерирующий ассоциативный PHP-массив (переведенный в объекты в JSON), может быть написан вкратце с использованием тернарного оператора CONDITION ? ON_TRUE : ON_FALSE
$respuesta["message"] = [];
array_push($respuesta["message"], ['message' => mail($to, utf8_decode($subject), utf8_decode($message), $header) ? 'ok':'no']);
echo json_encode($respuesta);
Ответ №2:
Здравствуйте, вы можете попробовать stdClass
$r = new stdClass();
$r->message = array();
$ms = new stdClass();
$ms->message="ok";
array_push($r->message,$ms);
echo json_encode($r);