Что такое zval контейнер?

Ответ

zval - внутренняя структура Zend Engine для хранения любого значения PHP. Содержит: тип данных, само значение, счетчик ссылок (refcount) и флаги.

// Структура (упрощенно):
// typedef struct {
//     zend_value value;  // union: long, double, string, array...
//     uint32_t type_info; // тип + флаги
// } zval;

С PHP 7 zval стал 16 байт (вместо 48 в PHP 5). Скаляры хранятся прямо в zval, сложные типы (string, array, object) - через указатель с refcount. Это дало прирост производительности 2-3x.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.