Полезни бележки сериализират или json_encode

Понякога по време на разработката става необходимо да се съхраняват PHP масиви или дори обекти в база данни. Обикновено това се прави с помощта на методите serialize или json_encode, които преобразуват сложни типове данни в низове. В тази статия ще обсъдим коя от тези 2 функции е най-добре да използвам и за какво да внимавам.

Основното предимство на функцията за сериализиране е, че тя е специфична за езика PHP, съответно обработва адекватно всички типове данни PHP, включително обекти от вашите собствени класове и т.н.

Json_encode от своя страна създава JSON низ, който не е толкова специфичен за езика PHP. Много езици имат методи за четене и писане на низ в този формат, което го прави по-гъвкав.

Простите тестове показват, че json_encode е много по-бърз от сериализирането.

Какво да изберете за себе си?

Преди да решим кой точно метод да изберем във вашия случай, нека видим следния пример, който ясно демонстрира особеността на преобразуването на асоциативен масив в JSON низ:

Ако се опитаме да направим същата операция с асоциативен масив.

това се случва: