欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          php的字符串管理 zend_string

          php的字符串管理 zend_string

          字符串管理:zend_string

          任何程序都需要管理字符串。在這里,我們將詳細介紹適合 PHP 需求的自定義解決方案:zend_string。每次 PHP 需要使用字符串時,都會使用 zend_string 結構。該結構僅僅是 C 語言的 char * 字符串類型的簡單精簡包裝。

          它添加了內存管理的功能,所以同一字符串可以在多個地方共享,而無需重復。另外,一些字符串是“內部的”,即“持久的”分配,并通過內存管理特殊管理,以便它們不會在多個請求中被銷毀。之后,那些從Zend 內存管理獲得永久分配。

          相關學習推薦:PHP編程從入門到精通

          結構和訪問宏

          這里是簡單的zend_string結構:

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

          如你所見,該結構嵌入了一個 zend_refcounted_h 標頭。這個是內存管理和引用需要用到的。 由于該字符串很有可能作為哈希表檢查的關鍵字,因此它在 h字段中嵌入了其哈希值。這是無符號長整型 zend_ulong。僅在需要對 zend_string 進行哈希處理時會用到,特別是和哈希表:zend_array一起用時。這很有可能。

          如你所知,字符串知道其長度為 len 字段,以支持“二進制字符串。二進制字符串是嵌入一個或多個 NUL 字符(