PHP入门之:数组、常量、数据类型

作者: JONE 分类: 编程 发布时间: 2017-07-16 00:25

一数组

1 自定义数组 索引数组(枚举数组)

定义方法一:使用array方法:

①索引数组(枚举数组):array(“值一” ,  ”值二”,  ”值三”);

②关联数组:                   array(“键名一”=>“值一 ” ,  “键名二”=>”值二”  ,”键名三”=> ”值三”);

注意:“=>”  等号和箭头之间没有空格

 

定义方法二:给指定的下标的数组元素赋值

$数组名[下标] = 值;  或者  $数组名[] =值;

(注:下标可以是数值,也可以是字符串)

2 超全局变量素质”预定义变量”

以下8个变量,都是数组变量,又称为”预定义变量”。它们的名称是固定的,必须全大写,下划线开头。

  • $_GET :通过地址栏传递到服务器的数据,必须是GET方式传递;
  • $_POST:通过表单 method = post 发送的数据,必须是POST方式传递。
  • $_REQUEST:包含GET方式 和POST方式的全部数据。
  • $_SERVER:显示或获取服务器相关的信息。
  • $GLOBALS:全局中的全局,换话句:包含大部分的超全局数组信息。
  • $_SESSION:处理服务器的端的会话数据。
  • $_COOKIE:处理客户端的会话数据。
  • $_FILES:上传文件需要用到的数组。

二常量

1 自定义常量

概念

一般,常量是值不变的量。如:身份证号码、DNA、圆周率等。
常量不能修改。
常量不能删除。

命名规则

  • 常量的命名规则与变量一样,但不能加”$”符号;
  • 常量名只能以字母、下划线开头,不能以数字开头;
  • 常量是区分大小写的;
  • 常量尽量全大写与变量区分开来;如:DB_HOST、TITLE、CONTENT

常量定义define()

  • 描述:定义一个常量
  • 语法:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
  • 参数:
    • $name常量名称;
    • $value常量的值;
    • $case_insensitive,是否大小写敏感,false(区分大小写),true不区分大小写

常量判断defined()

  • 描述:检查某个名称的常量是否存在
  • 语法:bool defined ( string $name )
  • 提示:常量名称必须是一个字符串。

2 预定义常量

  • PHP_VERSION:PHP版本号
  • PHP_OS:PHP操作系统
  • PHP_INT_MAX:PHP支持的最大整数
  • TRUE:既是常量,也是关键字;
  • FALSE:既是常量,也是关键字。
  • ……

获取系统中所有常量get_defined_constants()

PHP的系统常量,大约有800多个,可以通过get_defined_constants()函数来获取。

  • 描述:返回所有常量的关联数组,键是常量名,值是常量值
  • 语法:array get_defined_constants ([ bool $categorize = false ] )
  • 参数:bool $categorize参数,是否显示二维数组,是否常量要分组。

3 魔术常量

魔术常量:在程序运行过程中,值可以改变的常量

  • __LINE__:获取当前行号;
  • __FILE__:获取当前文件的绝对路径;
  • __DIR__:获取当前文件的目录;
  • __FUNCTION__:获取当前函数名;
  • __CLASS__:获取当前类名;
  • __METHOD__:获取当方法名

提示:get_defined_constants()中没有魔术常量。

三 PHP数据类型

1 数据类型

PHP数据类型

  • 标量(基本)数据类型:字符串型、整型、浮点型、布尔型
  • 复合数据类型:数组、对象
  • 特殊数据类型:资源、NULL

2 数据类型判断函数

  • var_dump():打印变量的类型和值;
  • is_bool():判断变量是否是布尔型;
  • is_int():判断变量是否是整型;
  • is_float():判断变是否是浮点型;
  • is_numeric():判断变量是不是数值型;
  • is_array():判断变量是否是数组;
  • is_string():判断变量是否是字符串;
  • is_null():判断变量是否为NULL
  • is_resource():判断变量否是资源型

3 数据类型强制转换

转换的方法:   (类型)$变量名

在变量前加一个括号,在括号中指定需要转换成什么类型

  • (int) $a ,强制转成整型;
  • (string)$a ,强制转成字符串;
  • (object)$a ,强制转成对象;
  • (bool) $a ,强制转成布尔值;
  • (float) $a ,强制转成浮点型
  • (array)$a ,强制转成数组型

1) 整型

整型包括:正整数、负整数、零。

(1) 整型的表示方法

  • 十进制表示:$a = 90;
  • 八进制表示:$a = 077; //以0开头就是八进制
  • 十六进制表示:$a = 0x89FA; //以0x开头就是16进制

(2) 最大整数(PHP_INT_MAX)

PHP中整数的范围:-2^31(-2147483648) ~ 2^31-1(2147483647)

如果一个整数超出范围,则转成浮点数。如:PHP_INT_MAX+1

2) 浮点型:就是小数

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

E是以10为底。

1.8E5:是一种科学计数方式。1.8*10^5 = 180000

 3) 字符串型

(1)字符串定义的三种方式

  • 用单引号,引起来的一串字符,就是字符串。如:$a = ‘abc’

单引号内中的转义字符,只能是 \’、\\

  • 用双引号,引起来的一串字符,也是字符串。如:$a = “abc”

双引号内的转义字符,基本都可以使用:\\、\”、\n、\$、\t、\r

  • 长字符串的表示:heredoc标识符
    • 将一个长字符串,放在”<<<heredoc”和”heredoc;”之间;
    • “heredoc”这个名称可以自定义;
    • 必须以”<<<heredoc”开头,必须以”heredoc;”结尾
    • “heredoc;”必须单独一行、必须顶头排。
    • 长字符串中,可以放置HTML、CSS、JS、PHP的变量,但不能进行运算。
    • Heredoc的功能与双引号的功能一样,都可以解析PHP变量。

(2)注意事项

  • 单引号内,输出的是变量的名称,不能解析变量;
  • 双引号内,输出的是变量的值,可以解析变量;
  • 在双引号内,如果一个变量后跟一个非空字符,会当成一个变量来处理,其实并没有这个变量。
  • 在双引号内,如果一个变量后跟英文下的标点符号,可以直接解析变量。

4 )布尔型

布尔型只有两个值true、false。

布尔型主要用在条件判断当中。

哪些值转成布尔型认为是FALSE

0、””、”0”、false、NULL、array()、空对象,转成布尔型都认为是FALSE。

5) 空型:没有类型

如果一个变量不存在,则认为空型,空型只有一个值NULL。

哪些情况认为空?

  • 不存在的变量;
  • Unset()某一个变量

6) 资源型

PHP的功能很少,它需要加载第三方的插件来实现其它功能。那么,第三方插件,对于PHP来说,就是它的资源。如:MySQL、GD2、FileSystem等。

资源就是到第三方数据的一个引用,也称为”引用传值”

资源转成布尔型是什么?

永远为TRUE