На данный вопрос уже ответили:
Вывожу данные из базы в виде "JSON"
echo '[';
$sql = mysqli_query($link, 'SELECT `id`, `category`, `cb_title` FROM `catalog` LIMIT 0,3');
while ($result = mysqli_fetch_array($sql)) {
$string = "{\"title\":\"{$result['cb_title']}\",\"hasAd\":false},";
}
echo ']';
На выходе получаю строки
[{"title":"{$result['cb_title']}","hasAd":false},
{"title":"{$result['cb_title']}","hasAd":false},
{"title":"{$result['cb_title']}","hasAd":false},]
Как удалить запятую перед закрывающим ,]?
Использовал $string = rtrim($string, ','); - удаляет все запятые после всех false},
Спасибо!
Например так
echo substr($string,0,-1); или echo substr($string,0,-2).']';
или так
while ($result = mysqli_fetch_array($sql)) {
$string[] = "{\"title\":\"{$result['cb_title']}\",\"hasAd\":false}";
}
echo implode(',',$string);
Для этого есть более правильное решение, а именно использование json_encode. И не нужно никаких обрезаний строк.
$sql = mysqli_query($link, 'SELECT `id`, `category`, `cb_title` FROM `catalog` LIMIT 0,3');
while ($result = mysqli_fetch_array($sql)) {
$array[] = array('title' => $result['cb_title'], 'hasAd' => false);
}
$result = json_encode($array);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей