php扩展开发之判断变量类别
发布时间:2022-09-28 17:16:03 303
相关标签: # php
扩展中的C语言代码
PHP_FUNCTION(hello_dump){
zval *uservar;
if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"z",&uservar)==FAILURE){
RETURN_FALSE;
}
switch(Z_TYPE_P(uservar)){
case IS_NULL:
php_printf("NULL\n");
break;
case IS_TRUE:
php_printf("Boolean:%s\n","TRUE");
break;
case IS_FALSE:
php_printf("Boolean:%s\n","FALSE");
break;
case IS_LONG:
php_printf("Long:%ld\n",Z_LVAL_P(uservar));
break;
case IS_DOUBLE:
php_printf("Double:%f\n",Z_DVAL_P(uservar));
break;
case IS_STRING:
php_printf("String:"); PHPWRITE(Z_STRVAL_P(uservar),Z_STRLEN_P(uservar));
php_printf("\n");
break;
case IS_RESOURCE:
php_printf("Resource\n");
break;
case IS_ARRAY:
php_printf("Array\n");
break;
case IS_OBJECT:
php_printf("Object\n");
break;
default:
php_printf("Unknow\n");
}
RETVAL_TRUE;
}
php测试代码:
输出结果:
NULL
Boolean:TRUE
Boolean:FALSE
Long:1000000000
Double:1.000000
String:asd
Resource
Array
Object
文章来源: https://blog.51cto.com/u_13646572/5361220
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报