当PHP需要对一个字符串进行频繁扩容修改时,则会用到智能字符串相关结构体以及对应的操作函数。
智能字符串函数的主要功能是对zend_string API的补充,可以更高性能的实现字符串的扩容组装。
4.2.2 智能字符串的具体实现
结构
s字段:字符串指针,指向的是zend_string结构体
a字段:智能字符串申请的内存空间总大小
smart_str实现字符串追加扩容的优点有:
封装了API,在使用上可以简单的调用API方法,从而实现各种类别的字符追加
优化了内存申请环节,不需要频繁的申请及释放内存