当PHP需要对一个字符串进行频繁扩容修改时,则会用到智能字符串相关结构体以及对应的操作函数。
    智能字符串函数的主要功能是对zend_string API的补充,可以更高性能的实现字符串的扩容组装。

    image.png

    4.2.2 智能字符串的具体实现
    结构
    s字段:字符串指针,指向的是zend_string结构体
    a字段:智能字符串申请的内存空间总大小
    image.png
    smart_str实现字符串追加扩容的优点有:
    封装了API,在使用上可以简单的调用API方法,从而实现各种类别的字符追加
    优化了内存申请环节,不需要频繁的申请及释放内存