Как предотвратить нулевое значение от JSON?

1

Я сохранил динамическое значение в массиве и конвертировал json с помощью json_encode, после преобразования значения am print json, но какое-то значение возвращает значение null, но я печатаю значение массива, он отображается правильно, что я могу сделать, PLS мне поможет.

Мое кодирование выглядит следующим образом:

header('Content-type: application/json');
$return=array();
$level=$_REQUEST['level'];
$sql="SELECT * FROM guess WHERE level=$level";
$res = $st->query($sql);
if($res->num_rows>=1){
    $images=array();
    while($row= $res->fetch_assoc())
    {
        $images[]=$row;
    }
    $return['list']=$images;
}
echo json_encode($return);

Мой вывод в json,

{"list":[{"id":"1","type":"text","question":null,"answer":"feed"}]

в массиве,

[list] => Array
    (
        [0] => Array
            (
                [id] => 1
                [type] => text
                [question] => WHAT CHARITY Christian organization committed to feeding Gods children hungry in body and spirit?
                [answer] => feed
            )


    )
Теги:

2 ответа

0

используйте функцию mysql IFNULL и измените свой sql-запрос - так что вам не нужно писать дополнительный PHP-код, так как функция ifnull возвращает второй параметр (желаемую строку), если значение первого параметра (вопроса) равно null

SELECT col1, col2, IFNULL(question, 'WHAT CHARITY Christian organization committed to feeding God\s children hungry in body and spirit?') as question  FROM guess WHERE level=$level

для получения дополнительной информации о функции ifnull - щелкните, чтобы прочитать

0

json_encode ожидает, что строки в данных будут закодированы как UTF-8.

   header('Content-type: application/json');
    $return=array();
    $level=$_REQUEST['level'];
    $sql="SELECT * FROM guess WHERE level=$level";
    $res = $st->query($sql);
    if($res->num_rows>=1){
        $images=array();
        while($row= $res->fetch_assoc())
        {
            $images[]['id']= ($row['id']);
            $images[]['type']= ($row['type']);
            $images[]['question']= utf8_encode($row['question']);//Convert this to UTF-8 
            $images[]['answer']= ($row['answer']);
        }
        $return['list']= $images;
    }
echo json_encode($return);
  • 1
    Ваш ответ может быть в комментариях, пожалуйста, укажите соответствующий код.
  • 0
    Спасибо за ваш ответ, но я хочу значение вместо нулевого значения в JSON.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню