Я знаю, как получить строку mysql и преобразовать ее в json:
$row = mysqli_fetch_assoc(mysqli_query($db, "SELECT * FROM table WHERE id=1"));
echo json_encode($row); // it an ajax-call
а
строка db имеет разные типы, такие как int, float, string. путем преобразования его с помощью json_encode() все результаты являются строками.
Есть ли лучший способ исправить типы, чем это:
$row['floatvalue1'] = 0+$row['floatvalue1'];
$row['floatvalue2'] = 0+$row['floatvalue2'];
$row['intvalue1'] = 0+$row['intvalue1'];
Я хотел бы пройти через ключи и добавить 0, потому что:
- первое правило кодирования: DRY - не повторяйтесь
но я не могу, потому что:
- строка имеет также другие типы, кроме чисел (строка, дата)
- существует много столбцов
- дизайн находится в dev, поэтому имена колонок часто меняются
Спасибо заранее и извините мой плохой английский: -)
ИЗМЕНИТЬ (ответить на вопрос-вопрос от Казимира и Ипполита):
Я вызываю этот php-код, используя ajax, чтобы получить динамически sql-значения. в моем javascript-коде я использую следующие результаты:
result['intvalue1'] += 100;
позволяет сказать, что json-результат intval1 равен 50, вычисленный результат:
"50100", а не 150