[PHP] PHP实现定义对象类型的常量 →→→→→进入此内容的聊天室

来自 , 2020-11-30, 写在 PHP, 查看 137 次.
URL http://www.code666.cn/view/b887d8d5
  1. repeat:
  2.         switch (Z_TYPE_P(val)) {
  3.                 case IS_LONG:
  4.                 case IS_DOUBLE:
  5.                 case IS_STRING:
  6.                 case IS_BOOL:
  7.                 case IS_RESOURCE:
  8.                 case IS_NULL:
  9.                         break;
  10.                 case IS_OBJECT:
  11.                         if (!val_free) {
  12.                                 if (Z_OBJ_HT_P(val)->get) {
  13.                                         val_free = val = Z_OBJ_HT_P(val)->get(val TSRMLS_CC);
  14.                                         goto repeat;
  15.                                 } else if (Z_OBJ_HT_P(val)->cast_object) {
  16.                                         ALLOC_INIT_ZVAL(val_free);
  17.                                         if (Z_OBJ_HT_P(val)->cast_object(val, val_free, IS_STRING TSRMLS_CC) == SUCCESS) {
  18.                                                 val = val_free;
  19.                                                 break;
  20.                                         }
  21.                                 }
  22.                         }
  23.                         /* no break */
  24.                 default:
  25.                         zend_error(E_WARNING,"Constants may only evaluate to scalar values");
  26.                         if (val_free) {
  27.                                 zval_ptr_dtor(&val_free);
  28.                         }
  29.                         RETURN_FALSE;
  30.         }

回复 "PHP实现定义对象类型的常量"

这儿你可以回复上面这条便签

captcha