ホームページ >php教程 >php手册 >PHP的关于变量和日期处理的一些面试题目整理

PHP的关于变量和日期处理的一些面试题目整理

WBOY
WBOYオリジナル
2016-06-06 19:48:36807ブラウズ

这篇文章主要介绍了PHP的关于变量和日期处理的一些面试题目整理,也是PHP入门学习中的基础知识,需要的朋友可以参考下

变量相关
PHP变量的内部实现
编程语言的系统类型分为强类型和弱类型两种:

  •     强类型语言是一旦某个变量被申明为某个类型的变量,在程序运行过程中,就不能将该变量的类型以外的值赋予给它,c/c++/java等语言就属于这类
  •     php及ruby,javascript等脚本语言就属于弱类型语言:一个变量可以表示任意的数据类型

  • php变量类型及存储结构
    php在声明或使用变量的时候,并不需要显式指明其数据类型

    php是弱类型语言,这不并表示php没有类型,在php中,存在8种变量类型,可以分为三类:


    变量存储结构
    变量的值存储到一下所示的zval结构体中.其结构如下:

    typedef struct _zval_struct zval; struct _zval_struct { zvalue_value value; // 存储变量的值 zend_uint refcount__gc; // 表示引用计数 zend_uchar type; // 变量具体的类型 zend_uchar is_ref_gc; // 表示是否为引用 };


    变量的值存储在另外一个结构体zvalue_value中

    变量类型
    zval结构体的type字段就是实现弱类型最关键的字段了,type的值可以为:IS_NULL, IS_BOOL, IS_LONG, IS_DOUBLE, IS_STRING, IS_ARRAY, IS_OBJECT, IS_RESOURCE之一.从字面上就很好理解,他们只是类型的唯一标示,根据类型的不同将不同的值存储到value字段

    变量值的存储
    前面说到变量的值存储在zvalue_value结构体中,结构体定义如下:

    typedef union _zvalue_value { long lval; double dval; struct { char *val; int len; } str; HashTable *ht; zend_object_value obj; } _zvalue_value;


    日期相关

    计算两个日期之间的天数
      

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。