2016-04-15 39 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