Как мне сказать php рассматривать строку как массив / json

1

Я создаю динамическую таблицу, которая может быть изменена с панели управления admin, и я храню данные в массиве массивов в столбце базы данных следующим образом:

Пример: tableBody: [['test', 'test 2'], ['1', '2']]

то я хочу вывести таблицу на front-end следующим образом:

<table>
    <?php 
        $arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody'];
        $body = "";
        $tableArray = (how to convert to array this string $arrayFromDB);
        foreach ($tableArray as $key) {
            $body.= "<tr>";
            foreach ($key as $keyt) {
                $body.= "<td>".$keyt."</td>";
            }
            $body.="</tr>";
        }
        echo $body;
    ?>
</table>

РЕШЕНИЕ: проблема была в том, как я хранил это неправильно. В основном я json_decode() виде, что эквивалентно json только, что я использовал "вместо". Теперь я могу просто использовать json_decode()

  • 1
    если у вас есть строка в формате json, вы можете использовать json_decode, если вы хотите создать формат json, вы можете использовать json_encode .. В php.net есть много информации об этом
  • 0
    Я попытался с json_decode, но это не сработало, потому что я думаю, что это не формат JSON. Можете ли вы сказать мне, как это [['test', 'test 2'], ['1', '2']] должно быть в формате json?
Показать ещё 6 комментариев
Теги:
arrays

1 ответ

1
Лучший ответ

Вы должны сохранить свой массив в строке в mysql DB, используя ниже php-функцию.

//for eg Define array 
$array = array();
$array[0][] = 'test';
$array[0][] = test 2;
$array[1][] = 'test';
$array[1][] = test 2;
// convert array to json
json_encode($array);

Теперь, когда вы извлекаете эти данные из базы данных mysql, просто декодируйте эту строку.

$arrayFromDB = mysqli_fetch_array(mysqli_query($con, "select * from specialtable where id='$tableId'"))['tableBody'];
$decodedStrArray = json_decode($arrayFromDB);

Его расшифрованный массив...

  • 0
    Спасибо за ответ, но я уже решил свою проблему, смотрите отредактированный пост :)
  • 0
    извините, я не видел комментарии. полезно для других.
Показать ещё 1 комментарий

Ещё вопросы

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