亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php的字符串管理 zend_string

    php的字符串管理 zend_string

    字符串管理:zend_string

    任何程序都需要管理字符串。在這里,我們將詳細(xì)介紹適合 PHP 需求的自定義解決方案:zend_string。每次 PHP 需要使用字符串時(shí),都會(huì)使用 zend_string 結(jié)構(gòu)。該結(jié)構(gòu)僅僅是 C 語(yǔ)言的 char * 字符串類(lèi)型的簡(jiǎn)單精簡(jiǎn)包裝。

    它添加了內(nèi)存管理的功能,所以同一字符串可以在多個(gè)地方共享,而無(wú)需重復(fù)。另外,一些字符串是“內(nèi)部的”,即“持久的”分配,并通過(guò)內(nèi)存管理特殊管理,以便它們不會(huì)在多個(gè)請(qǐng)求中被銷(xiāo)毀。之后,那些從Zend 內(nèi)存管理獲得永久分配。

    相關(guān)學(xué)習(xí)推薦:PHP編程從入門(mén)到精通

    結(jié)構(gòu)和訪問(wèn)宏

    這里是簡(jiǎn)單的zend_string結(jié)構(gòu):

    struct _zend_string {         zend_refcounted_h gc;         zend_ulong        h;         size_t            len;         char              val[1]; };

    如你所見(jiàn),該結(jié)構(gòu)嵌入了一個(gè) zend_refcounted_h 標(biāo)頭。這個(gè)是內(nèi)存管理和引用需要用到的。 由于該字符串很有可能作為哈希表檢查的關(guān)鍵字,因此它在 h字段中嵌入了其哈希值。這是無(wú)符號(hào)長(zhǎng)整型 zend_ulong。僅在需要對(duì) zend_string 進(jìn)行哈希處理時(shí)會(huì)用到,特別是和哈希表:zend_array一起用時(shí)。這很有可能。

    如你所知,字符串知道其長(zhǎng)度為 len 字段,以支持“二進(jìn)制字符串。二進(jìn)制字符串是嵌入一個(gè)或多個(gè) NUL 字符(