PHP学习(二 )进入PHP的奇幻之旅
删除变量的功能unset()
格式 unset(变量)
参数:要删除的变量
返回值:该功能没有返回值
检测变量是否设置值的功能 isset()
格式:返回值 = isset(要检测的变量)
参数:要检测的变量
返回值:返回检测的结果,如果该变量设置值返回true,未设置值返回fasle
只要赋值了不是null的数据,那么检测的结果都为true,如果变量未赋值或者赋值为null,检测结果都为false
检测变量值是否为空的功能 empty()
什么样的值为空
int 0
float 0.0
string '' 或者 ‘0’
boolean false
array 空数组 array()
object 都不为空
resource 都不为空
null null
格式:返回结果 = empty(检测的变量)
参数:要检测的变量
返回值:返回检测后的结果,如果该变量检测为空返回true,不为空返回false
学习功能主要学习三点
功能的作用
功能的参数
功能的返回值
2、数据类型转换
1. 如何获取数据类型
var_dump() 该功能可以直接将数据的值和类型显示出来
优点:既可以查看变量类型也可以查看值。
缺点:类型和值的结果无法被接收,后续代码无法使用。
gettype() 获取数据类型
格式:变量 = gettype(检测变量);
可以获取的值(可以返回的结果):
integer
double
string
boolean
array
object
resource
null
优点:可以获取任何数据的类型,获取之后可以给下方程序使用
缺点:功能强大导致效率低下,需要需要逐个匹配类型
is_*()系列的功能检测变量类型
is_int() is_integer() 检测数据是否是整型
is_float() is_double() 检测数据是否是浮点型
is_string() 检测数据是否是字符串类型
is_bool() 检测数据是否是布尔类型
is_array() 检测数据是否是数组
is_object 检测数据是否是对象
is_resource() 检测数据是否是资源
is_null() 检测数据类型是否是null
is_scalar() 检测一个数据是否是标量(int\float\string\bool)
is-numeric() 检测数据是否是数字 (整型、浮点型、纯数字字符串)
格式:结果变量 = is_*(检测的变量)
返回值:如果是对应的类型 则返回true 否则不是 返回false
优点:检测效率高,并且可以接收检测的结果
缺点:功能单一
2. 数据类型转换
PHP是一门弱类型语言,八种数据类型可以转换而且不需要人工的介入。
数据类型转换的分类
自动数据类型转换 (隐性数据类型转换)
强制数据类型转换 (显性数据类型转换)
自动数据类型转换
自动类型转不需要人工干预
自动类型转换发生在运算或者判断的过程中
自动类型转换仅限于标量(bool string float int)
在类型转换过程中一般是向着更精确的数据进行转换
强制数据类型转换
使用语言结构方式修改变量类型
可以转换的关键字
整型 integer int
浮点型 float double
字符串 string
布尔值 boolean bool
数组 array
对象 object
资源 无法转换
空 无法转换
使用指定类型的转换功能
strval() 转换为字符串类型
参数:需要转换的变量
返回值:返回转换后的结果
intval() 转换为整型
参数:需要转换的变量
返回值:返回转换后的结果
floatval() 转换为浮点类型
参数:需要转换的变量 -返回值:返回转换后个结果
格式:新变量 = strval(原变量);
字符串的转换规则
如果是纯数字字符串,转换之后只改变类型。
如果是字符串以数字开头,数字后面是非数字字符串,那么将字符串最前面的连续的数字字符取出来转换为数值。
注意:在数值前可以出现符号(- +)表示正负号。
使用通用类型转换功能 settype()
格式 返回结果变量 = settype(变量,'类型')
注意:settype()该功能改变的是原有变量,返回是否转换成功(布尔值)。
可以转换类型的关键字
int integer
float double
string
boolean
array
object
resource 不能转换
null
什么样的值转换布尔值为false(有限制的)
int 0
float 0.0
string '' 或者 '0'
boolean false
array 空数组 array()
object 都不为false
resource 都不为false
null null
三、PHP中的常量
1. 什么是常量
- 通常不会改变的量,叫做常量
- 如果把变量比作一个黑板,那么常量就是一块墓碑,一次刻印终身受用。
2. 常量如何声明
1. 声明方式1:使用define()功能来声明常量
格式:define('常量名','常量值');
注意:如果是7.3版本之前define允许接收第三个参数,如果设置为true表示常量名不区分大小写。默认为false区分大小写。
2. 注意事项
- 常量名:
1. 常量名开头不可以使用$.
2. 声明常量不要使用中文,可以使用英文,推荐大写。
3. 可以使用数字,但是不能以数字开头。
4. 不能可以使用特殊字符,除了下划线。
5. 常量命名要有意义
6. 常量名严格区分大小写。
- 常量值:
定义常量值时,在PHP版本>7.3之后可以使用除对象之外的任意类型。在PHP<5.4版本之前,常量值仅限标量。
- 常量的特点:
1. 常量一旦定义不可以在改变其值。
2. 常量习惯上使用大写。
3. 常量如果声明就有值,如果不声明就将该常量名称当做字符串处理。
3. 声明方式2:const 关键字声明
- 语法格式:const 常量名 = 常量值
- 该方法只有声明方式和define不同,其他规则都相同。
4. 系统自带的魔术常量(了解)
- __FILE__ 表示当前文件相对于系统的绝对路径
- __LINE__ 表示当前常量所在的行
- __FUNCTION__ 可以在函数中获取当前函数的名称
- __CLASS__ 表示当前常量所在的CLASS(类)的名称
- __METHOD__ 表示当前方法所在的类和方法名称
- 注意:以上所有__中间没有空格,是两个下划线。
5. 常量相关的几个功能(了解)
- constant() 获取常量值的功能
- 格式:返回结果 = constant('常量名')
- 注意:该功能一般是当常量名是一个字符串类型的时候,使用该功能可以获取到对应的常量值。
- get_defined_constants() 获取当前定义的所有常量集合 返回一个数组。
- defined 检测常量是否被定义,返回一个布尔值,如果被定义返回true,如果未定义返回false
- 格式:返回结果 = defined('检测的常量')
相关文章
- 1条评论
- 边侣断渊2022-06-05 20:37:16
- 据是否是字符串类型is_bool() 检测数据是否是布尔类型is_array() 检测数据是否是数组is_object 检测数据是否是对象is_resource() 检测