LoginSignup
6
6

More than 5 years have passed since last update.

PHP 7 用 extensionで使える文字列関連マクロ関数まとめ

Last updated at Posted at 2016-04-09

PHP 7 用の extension を書いていて何度も混乱したので自分用まとめ。

zend_string を扱うマクロ

zend/zend_string.hで定義されています。

char *ZSTR_VAL(zend_string *zstr)
size_t ZSTR_LEN(zend_string *zstr)

文字列型の zval を扱うマクロ

zend/zend_types.hで定義されています。

zend_string *Z_STR(zval zv)
zend_string *Z_STR_P(zval *zp)

char *Z_STRVAL(zval zv)
char *Z_STRVAL_P(zval *zp)

size_t Z_STRLEN(zval zv)
size_t Z_STRLEN_P(zval *zp)

感想

Z_STRLENZSTR_LENとあるのは仕方ないとは思うけど、わかるかこんなもん!という気持ちになりますね。

こうしてまとめてみた結果、ZSTR_zend_string用のマクロ、Z_zval用のマクロである、という無駄知識を獲得できました。

6
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6