[PHP语法]PHP基础语法与数据类型

基础语法:

  1. php是一门弱类型编程语言
  2. 在.php文件中php代码需要包含在<?php 和 ?> 之间,html可以和php混合编写
  3. 语句必须以;分号结束
  4. 变量名前面必须包含$,变量名可以包含字母数字下划线, 但是不能以数字开头, 变量名区分大小写, 变量名不能与关键字相同

数据类型:

  1. 标量类型:整型,浮点型,布尔型,字符串型
  2. 复合类型:数组,对象
  3. 特殊类型:资源,NULL
  4. 伪类型:混合类型,数字类型,回调类型

变量细节:

  1. 仅仅定义了变量但是没有赋值,这时候会提示undefined variable var_dump()查看会发现变量是null

整型

  1. 十进制,十六进制0x, 八进制0
  2. 不支持无符号整数, 也就是说整数都是有符号的
  3. PHP_INT_SIZE 整型值的字长 = 4 (字节)/32位
  4. PHP_INT_MAX  整型值的最大值 = 2147483647 (针对32位)  针对64位就更大了

浮点数

  1. 浮点数也叫双精度数或实数
  2. 浮点数的字长和平台有关,通常最大值是1.8E308 并且具有14位十进制数字的精度 (从左边第一个非0数字开始计算)

字符串

  1. 字符串中一个字符占用一个字节
  2. 字符串可以用单引号包裹,也可以用双引号包裹
  3. 单引号包裹时反斜线解析单引号,双引号包裹时反斜线解析双引号
  4. 双引号包裹的字符串中可以使用反斜线转义字符来转义特殊字符 \n \r \t \e \v \f \\ \" \$
  5. 双引号包裹的字符串中的变量可以被解析
  6. 单引号包裹时转义字符只认识\\和\' 这两种,其他都不转义。
  7. 如果需要对字符串中的指定字符进行操作,可以使用{ }这个语法。
  8. { } 这个语法是用来避免字符串中的变量解析时出现错误的

常量

  1. 常量前面不需要$
  2. 常量在定义的时候就需要赋初值,同时定义后就不能再修改值
  3. 常量通过define或const进行定义
  4. 常量的名称一般使用全部大写字母,中间可以用下划线分割
  5. 常量的值只能是标量,在PHP7中允许使用数组作为常量的值
  6. 可以使用constant(NAME)函数来获取常量的值

常量分为系统常量,自定义常量,魔术常量。

PHP_VERSION

PHP_OS

PHP_INT_MAX

PHP_INT_SIZE

定义常量的语法

define("NAME", VALUE); 使用define定义时需要注意常量名称要加引号

const NAME = VALUE;

获取常量

constant("NAME"); 使用constant函数时常量名称也要加引号

get_defined_constant() 获取系统常量和自定义常量的数组

判断常量是否存在使用  defined("NAME");

魔术常量

魔术常量一共有八个

__LINE__

__FILE__

__DIR__

__FUNCTION__

__CLASS__

__METHOD__

__TRAIT__

__NAMESPACE__

 

类型转换

类型转换分为自动转换强制转换,而在强制转换中又分为临时转换永久转换

自动转换

自动转换是指在进行运算或条件判断时,系统自动将两种不同类型进行转换,从而完成运算或条件判断。

1. 转换成布尔型

0,0.0,"","0",NULL,[ ] 都会转换成FALSE,其他都会转换成TRUE

2. 转换成整型

TRUE转换成1,FALSE转换成0

浮点型转换成整型,是通过向下取整。

字符串转换成整型,是通过从头开始解析直到遇见不合法的数值。

3. 转换成浮点型

字符串转换成浮点型,也是通过从头开始解析直到遇见不合法的数值。

其他类型都是先转换成整型,再转换成浮点型。

4. 转换成字符串

布尔类型TURE转换成"1"  FALSE转换成""

整型和浮点型都会转换成字面量形式的字符串

数组转换成"array"  对象转换成"object"  资源转换成"Resource id #id" (这三种没有实际意义)

NULL转换成""

 

强制转换

1. 临时转换

通过(type)$var语法 或者是 转换函数 进行转换,具体有

(int)  intval()   /   (float)(double)(real)  floatval()  doubleval()   /    (string)  strval()  /   (bool)  (boolean)  boolval()

(unset)    /   (array)   /  (object)

 

2. 永久转换

通过settype()方式进行强制永久类型转换,settype($var, $type)

$type是字符串,可以取值范围 "integer" "float" "string" "boolean" "array" "object"  "null"

如何判断数据类型呢? 通过 is_*这个系列函数进行判断。

is_int()  is_integer()  is_long()  /  is_float()  is_double()  is_real()  /   is_bool()  /  is_string()  /  is_array()  /  is_object()  /  is_callable()  /  is_resource()  /  is_null()

is_nan()  /   is_numeric()  /  is_scalar()

 

预定义变量

$GLOBALS

$_REQUEST

$_POST

$_GET

$_SERVER

$_FILES

$_ENV

$_SESSION

$_COOKIE

 

posted @ 2017-03-09 21:31  小碎石  阅读(219)  评论(0编辑  收藏  举报