2016-04-15 13 views
0

Ich arbeite in PHP 7, habe ich einen Fall, in dem ich eine Zeichenfolge der Länge 0 übergeben möchten. Wie können wir zend_string Variable der Länge 0 erzeugen.PHP 7: Wie zend_string Variable der Länge 0 generieren 0

Ich habe versucht, NULL zend_string Variable zuweisen, aber der Zeilencode ist abgestürzt, weil es versucht, NULL zu dereferenzieren. so ich bin zu raten wir Speicher zend_string Variable und ganzen Wert NULL oder String-Länge zuweisen müssen 0.

Antwort

0

Ein schneller Scan der Quelle ein paar Beispiele dafür zeigt:

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

Es sei denn, Sie wirklich brauchen Eine neue Zuweisung, der richtige Weg ist 'ZSTR_EMPTY_ALLOC()', die eine interne Zeichenfolge zurückgibt. (Der Name ist schlecht, es wird nichts zugewiesen.) – NikiC

+0

Schön, danke, meine Antwort war nur ein Grep und rate. :) –

+0

Ich habe über beide Methoden versucht, aber mein Problem nicht gelöst. Ich werde das Szenario noch einmal erklären. Früher in PHP 5 war zval-> value.str ein char-Array, aber in php7 wurde es zu zend_string * type geändert. Meine Anforderung ist zend_string * Variable sollte die Länge eines bestimmten Wertes haben, sagen wir 5, aber ihr Wert sollte NULL sein. – abhi7436

Verwandte Themen