2016-04-15 38 views
0

我在PHP 7中工作,我有一種情況,我想傳遞一個長度爲0的字符串。所以我們如何生成長度爲0的zend_string變量。PHP 7:如何生成長度爲0的zend_string變量0

我試着將NULL分配給zend_string變量,但是行代碼崩潰,因爲它試圖取消引用NULL。所以我猜測,我們需要分配內存以zend_string變量和全NULL值或字符串長度爲0

回答

0

源的快速掃描顯示的這幾個例子:

zend_string *str; 
str = zend_string_alloc(sizeof("") - 1, 0); 
+4

除非你實際上需要一個新的分配,正確的方法是使用'ZSTR_EMPTY_ALLOC()',它將返回一個實際的字符串。 (名字很糟糕,它沒有分配任何東西。) – NikiC

+0

很好,謝謝,我的回答只是一個grep和猜測。 :) –

+0

我試過上述兩種方法,但沒有解決我的問題。我會再次解釋場景。早些時候在PHP 5中,zval-> value.str曾經是一個char數組,但在php7中它被修改爲zend_string *類型。我的要求是zend_string *變量應該有一定的值的長度說5,但其值應爲NULL。 – abhi7436