Храните и извлекайте многомерный массив, используя php и mysql.

StackOverflow https://stackoverflow.com/questions/893461

  •  23-08-2019
  •  | 
  •  

Вопрос

У меня есть многомерный массив в PHP, например:

$array = array(
    "Part1" => array(
        "Subpart1" => array(0, 1),
        "Subpart2" => array(1, 0)
    ),
    "Part2" => array(0),
    "Part3" => array(0, 1, 0)
);

Теперь я хочу сохранить этот массив в таблице MySQL и снова получить его точно так же на другой странице PHP.

Я пытался использовать serialize() и unserialize()

$array= serialize($array);

а затем на другой странице

$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);

Но я похоже что-то делаю не так, в начале у меня вылезло var_dump из логическое значение (ложь) и теперь я получаю var_dump из НУЛЕВОЙ.

Это было полезно?

Решение

Ваш код выглядит нормально...

Одна вещь, которая может вас застать врасплох, это если ваш столбец слишком мал: если вы используете VARCHAR(255), ваши данные могут быть усечены и не будут десериализованы.Если вы добавите значение $row['Array'] Я мог видеть, цело ли оно.

Другие советы

Используйте тип столбца ТЕКСТ.Сериализованные данные часто не соответствуют VARCHAR(255).

Вы можете использовать кодировку json, json_encode($array), и вы получите строковое значение в нотации json, чтобы его можно было сохранить в базе данных, а также извлечь и выполнить json_decode($string, true), чтобы вы могли снова преобразовать его в массив.Если вы не передадите аргумент true в json_decode, он будет преобразован в stdClass.

Подробности Количество Ставка Количество Сумма Сумма Другие другие суммируют Общая налог  

Это моя таблица в php/html.Мне нужно сохранить и получить данные php Details(p),Quantity(q),Rate(r) в виде отдельного формата таблицы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top