码迷,mamicode.com
首页 > Web开发 > 详细

PHP中部分宏应用

时间:2018-10-14 13:56:53      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:duplicate   直接   一个   方法   字符串   赋值   保存   设置   指定   

1、字符串复制

  ZVAL_STRINGL(pzv, str, len, dup);str 和 len 分别为内存中保存的字符串地址和他的长度,dup之名该字符串是否需要被复制,值为1则将先申请一块新内存并复制该支付穿,然后把新内存的地址地址复制给pzv,值为0时则直接把str的地址赋值给zval。

2、字符串复制

  在PHP中我们获取字符串长度,一般都会使用strlen()函数,着了说一个一般不会用到的方法。

  如果想在某一位置截取该字符串或已经知道了该字符串的长度,那么可以使用宏ZAVAL_STRINGL (zval, string, length, duplicate),它显式的指定了字符串的长度,而不是使用strlen()函数。这个宏用该字符串长度作为参数。但它是二进制安全的,且速度也比ZVAL_STRING快,因为少了strlen。

3、资源类型

  PHP中的资源类型的值其实就是一个整数,所以ZVAL_RESOURCE 和 ZVAL_LONG的工作差不多,只不过它会把zval的类型设置为IS_RESOURCE。所以ZVAL_RESOURCE  约等于ZVAL_LONG

4、其他的部分宏

  ZVAL_BOOL(pzv, b): 将pzv所指的zval设置为IS-BOOL类型,值为b;

  ZVAL_TRUE(pzv):将pzv所指的zval设置为IS_BOOL类型,值为true;

  ZVAL_FALSE(pzv):将pzv所指的zval设置为IS_BOOL类型,值为false;

  ZVAL_LONG(pzv, 1):将pzv所指的zval设置为IS_LONG类型,值为1;

  ZVAL_DOUBLE(pzv, d):将pzv所指的zval设置为IS_DOUBLE类型,值为d;

 

PHP中部分宏应用

标签:duplicate   直接   一个   方法   字符串   赋值   保存   设置   指定   

原文地址:https://www.cnblogs.com/dong-blog/p/9678097.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!