Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? `dle_post`.`xfields` на чём основан выбор формата?

Тема в разделе "Вопросы- ответы", создана пользователем Vivi, 3 окт 2018.

03.10.18 в 02:12
03.10.18 в 19:12
3
581
0
  1. TopicStarter Overlay
    Vivi

    Vivi Зелёный

    Регистрация:
    30 сен 2018
    Сообщения:
    10
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    `dle_post`.`xfields` на чём основан выбор формата?
    есть другие методы, но почему именно этот?
    (вдруг кто в теме)
     
  2. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +318 / 12 / -0
    Из стандартных методов закодировать массив в строку в php знаю json_encode/json_decode и serialize/unserialize.

    Сейчас DLE пилят только в UTF-8 кодировке, но раньше делали версию и с кодировкой WINDOWS-1251 (видимо раньше она была распространена очень широко, хотя сейчас многие с нее стремятся перейти на UTF-8). Так вот json не работает в кодировке WINDOWS-1251, поэтому сразу отпадает.

    serialize в DLE используется в функции set_vars/get_vars и этот способ работает на обеих кодировках. Однако ты пробовал массив закодировать в serialize строку?
    Было:
    Код:
    array('name' => 'Название', 'year' => '2018')
    Стало:
    Код:
    a:2:{s:4:"name";s:16:"Название";s:4:"year";s:4:"2018";}
    Как видишь дофига лишнего в строке.

    Поэтому текущий вариант самый простой, хоть и не позволяет закодировать таким образом многомерный массив, что впрочем в данном случае и не требуется.

    Если же тебя интересует почему в качестве «разделителя» взяли символ |, тот тут я хз )
     
  3. TopicStarter Overlay
    Vivi

    Vivi Зелёный

    Регистрация:
    30 сен 2018
    Сообщения:
    10
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    есть еще 1 вариант(отдельная таблица): id_news | key | value
     
  4. PunPun

    VIP Кинотрафик v2

    Регистрация:
    11 июн 2015
    Сообщения:
    7.292
    Лучших ответов:
    31
    Рейтинги:
    +3.892 / 96 / -0
    В dle это есть, если вы используете данные в поле как перекрестные гиперссылки
     
Яндекс.Метрика