Почему json_encode([]) === '[]', но json_encode((object)[]) === '{}'?
В PHP функция json_encode() преобразует структуры данных в строки JSON. Результат зависит от типа передаваемой структуры: массив или объект.
🔍 Почему json_encode([]) возвращает '[]' Пустой массив [] в PHP интерпретируется как последовательный массив без ключей. При преобразовании в JSON он становится пустым массивом: '[]'.
🔍 Почему json_encode((object)[]) возвращает '{}' При приведении пустого массива к объекту (object)[] получается экземпляр класса stdClass без свойств. При кодировании в JSON он становится пустым объектом: '{}'.
⚠️ Важность различия В JSON пустой массив '[]' и пустой объект '{}' — разные типы данных. Это различие может быть критичным при взаимодействии с API или клиентскими приложениями, ожидающими определённый тип данных.
✅ Как контролировать результат json_encode()
🔸Чтобы получить пустой объект в JSON, приведите массив к объекту: (object)[].
🔸 Чтобы получить пустой массив, используйте [].
Будьте осторожны с флагом JSON_FORCE_OBJECT, так как он преобразует все массивы в объекты, что может привести к нежелательным результатам.
Почему json_encode([]) === '[]', но json_encode((object)[]) === '{}'?
В PHP функция json_encode() преобразует структуры данных в строки JSON. Результат зависит от типа передаваемой структуры: массив или объект.
🔍 Почему json_encode([]) возвращает '[]' Пустой массив [] в PHP интерпретируется как последовательный массив без ключей. При преобразовании в JSON он становится пустым массивом: '[]'.
🔍 Почему json_encode((object)[]) возвращает '{}' При приведении пустого массива к объекту (object)[] получается экземпляр класса stdClass без свойств. При кодировании в JSON он становится пустым объектом: '{}'.
⚠️ Важность различия В JSON пустой массив '[]' и пустой объект '{}' — разные типы данных. Это различие может быть критичным при взаимодействии с API или клиентскими приложениями, ожидающими определённый тип данных.
✅ Как контролировать результат json_encode()
🔸Чтобы получить пустой объект в JSON, приведите массив к объекту: (object)[].
🔸 Чтобы получить пустой массив, используйте [].
Будьте осторожны с флагом JSON_FORCE_OBJECT, так как он преобразует все массивы в объекты, что может привести к нежелательным результатам.
BY Библиотека собеса по PHP | вопросы с собеседований
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
A leaked Telegram discussion by 50 so-called crypto influencers has exposed the extraordinary steps they take in order to profit on the back off unsuspecting defi investors. According to a leaked screenshot of the chat, an elaborate plan to defraud defi investors using the worthless “$Few” tokens had been hatched. $Few tokens would be airdropped to some of the influencers who in turn promoted these to unsuspecting followers on Twitter.
Telegram auto-delete message, expiring invites, and more
elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.