概述

  l  变量就是一个容器,变量本身并没有类型,变量的类型解决值的类型。

  l  PHP和JS都属于弱类型语言,变量在运行过程中,类型是可以变的。但是,Java不可以。

  l  标量(基本)数据类型:字符串型、整型、浮点型、布尔型

  l  复合数据类型:数组、对象

  l  特殊数据类型:资源、NULL

判断变量类型的函数

以下函数都返回布尔值,成功返回TRUE,失败返回FALSE

  l  is_bool(),判断变量是不是布尔型

  l  is_int(),判断变量是不是整型

  l  is_string() 判断变量是不是字符串型

  l  is_float() 判断变量是不是浮点型

  l  is_numeric() 判断变量不是数值型或数字字符串。

  l  is_array() 判断变量是不是数组

  l  is_null()  判断变量是否为NULL

  l  is_resource() 判断变量是不是资源型

注意:通过地址栏或表单向服务器传递的任何数据,都是字符串。变量只存在于内存当中,离开内存都是字符串。

整型

  l  整型包含正整数、负整数、零。

  l  可以用10进制、八进制、16进制表示。

  l  PHP中最大整数:PHP_INT_MAX,(2^31)-1

如果给出的整数超出了PHP_INT_MAX的范围,该怎么办?

如果两个整数运算的结果超出了PHP_INT_MAX的范围,该怎么办?

浮点型

l  浮点型,包括整数和小数,精度比整数更高。

l  浮点型的范围:1.8E-308~1.8E+308

在计算机底层,所有数据都要转成二进制,才能进行运算。但是有些浮点数无法精确转成二进制。

这种现象是二进制的缺陷造成的。

因此,我们不要对浮点数进行比较运算,最好的办法:就是将浮点转成整数,再进行运算。

字符串型

长字符串

布尔型

空型

资源型

数据类型转换

PHP开发——数据类型的更多相关文章

  1. Python开发——数据类型【列表】

    列表的定义 中括号[]内以逗号分隔开,按照索引,存放各种数据类型,每个位置代表一个元素 list_t = ['张三','Lucy',123] print(list_t) # ['张三', 'Lucy' ...

  2. Python开发——数据类型【字典】

    字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...

  3. Python开发——数据类型【数字】

    布尔型 bool型只有两个值:True 或 False 我们将bool值归类为数字,习惯上:1表示true,0表示false 整型 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2* ...

  4. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

  5. Python开发——数据类型【元祖】

    元祖的定义 tu = (11,22,33,44,) print(tu) # (11, 22, 33, 44) tu = tuple((11,22,33,44,)) print(tu) # (11, 2 ...

  6. Python开发——数据类型【集合】

    集合的定义 由一个或多个确定的元素所构成的整体 可变集合 s=set('hello') print(s) # {'e', 'l', 'o', 'h'} s=set(['alex','alex','Lu ...

  7. Python开发——数据类型【运算符】

    算数运算符 比较运算符 赋值运算符 逻辑运算符 成员运算符

  8. Python开发——数据类型【字符串格式化】

    字符串格式化之——% # 字符串格式化 msg = 'I am %s , My hobby is %s'%('yuan','play') print(msg) # I am yuan , My hob ...

  9. PHP开发——目录

    PHP开发基础 PHP开发——环境安装 PHP开发——基础 PHP开发——变量 PHP开发——超全局数组变量 PHP开发——常量 PHP开发——数据类型 PHP开发——进制转换 PHP开发——运算符 ...

随机推荐

  1. python设置路径值时为什么要输入r

    r:代表处理不转义现象 Python中,u表示unicode string,表示使用unicode进行编码,没有u表示byte string,类型是str,在没有声明编码方式时,默认ASCI编码.如果 ...

  2. easyui-datebox 点击事件

    <div class="form-group col-xs-5 col-md-5 col-lg-6" style = "margin-left: 0px;" ...

  3. 解决ubuntu16.04桌面左侧栏和顶部栏消失的问题

    重要事情说三遍! 不要轻易重装系统! 不要轻易重装系统! 不要轻易重装系统! 问题所在:误删了unity桌面. 解决方法: $sudo apt-get install unity

  4. tomcat的 tomcat-user.xml

    http://blog.csdn.net/asdeak/article/details/1879284 很多个tomcat因为在缺少 "  <role rolename="m ...

  5. jstack命令定位java程序CPU利用率高的代码位置

    高手是怎么使用jstack精确找到异常代码的(java程序CPU利用率高的情况) 请jstack神器来帮忙 本文介绍Linux环境下使用jstack定位问题的秘笈1.[top命令]找到CPU利用率持续 ...

  6. Spring Boot使用单元测试

    一.Service层单元测试: 代码如下: package com.dudu.service;import com.dudu.domain.LearnResource;import org.junit ...

  7. Android SurfaceView及TextureView对比

    SurfaceView是什么? 它继承自类View,因此它本质上是一个View.但与普通View不同的是,它有自己的Surface.有自己的Surface,在WMS中有对应的WindowState,在 ...

  8. cmd下PUSHD和POPD命令使用说明

    PUSHD命令保存当前目录以供 POPD 命令使用,然后改到指定的目录. PUSHD [path | ..] path 指定要成为当前目录的目录. 如果命令扩展被启用,除了一般驱动器号和路径,PUSH ...

  9. centos7安装redmine3.4

    前言:安装要求 Ruby解释器 给定Redmine版本所需的Ruby版本是: Redmine版本 支持的Ruby版本 使用Rails版本 4.0 ruby 2.2(2.2.2及更高版本),2.3,2. ...

  10. Android控件使用FragmentTabHost,切换Fragment;

    大部分APP的主界面都很类似,要么底部导航的,要么就是侧滑菜单,还有底部导航+侧滑菜单的:底部导航实现大概有几种方式: TabHost+Fragment RadioGroup+Fragment Fra ...