PHP7/5扩展开发函数手册(3) - 函数

PHPAPI函数调用

我们经常需要调用php api 提供的标准函数,比如 array_merge 如何调用呢,首先需要引入函数声明,然后调用函数,一般函数前面都会有一个 "php_"

----php_swoole.h----

extern PHPAPI int php_array_merge(HashTable *dest, HashTable *src);
extern PHPAPI int php_var_dump(zval* val);

----test.c----

PHP_METHOD(php_api_call)
{
	zval *dest, *src;
	
	...
	
	php_array_merge(Z_ARRVAL_P(dest), Z_ARRVAL_P(src));
	php_var_dump(dest);
}

类型转换函数

转整数 convert_to_long(zval * val)

转布尔 convert_to_boolean(zval * val)

转字符串 convert_to_string(zval * val)

转浮点型 convert_to_double(zval * val)

zval *tmp;

...

convert_to_long(tmp);
long value = Z_LVAL_P(tmp);
	        
convert_to_boolean(tmp);
uint8_t mask = (int) Z_BVAL_P(tmp);
	
convert_to_string(tmp);
if (strcmp(Z_STRVAL_P(tmp), "Upgrade") == 0) // is upgrade
{
	php_printf("upgrade");
}
	
convert_to_double(tmp);
double timeout = (double) Z_DVAL_P(tmp);

猜你喜欢

转载自blog.csdn.net/caohao0591/article/details/82190856
今日推荐