PHP[入门]P08-类型转换,运算符,表达式
这是我早期的 php 学习笔记,php 的学习版本版本是 5.6、7,🐟2020/05/06年从有道笔记导出至此。
day08类型转换,运算符,表达式
资源:resource
1 | $con = fopen('ceshi.txt', 'r'); |
gettype()
:获取数据的类型
empty()
:判断的是这个变量是否为空 为空返回真true 不为空返回的是false
empty
和 isset
的区别
empty()
判断这个变量是否为空 为空返回真 不为空返回的是false
isset()
判断这个变量是否定义 如果定义返回真 如果没有定义返回假
使用:一般在判断数组或者一个变量里面是否有值的时候用 empty
2.判断类型
1 | is_array() is_bool() is_float() is_integer() |
返回值:是要判断的类型 就返回真 不是就返回假
3.类型转换
强制类型转换
1.转换函数
1 | intval() strval() floatval() boolval() |
只在使用的时候改变了变量的类型 并没有改变变量本事的类型
2.在变量前边加上(int)(string)(float)(bool)转换方式
只在使用的时候改变了变量的类型 并没有改变变量本事的类型
3.settype
arg:
var 要转换的变量。
type 的可能值为:
boolean integer float string
设置变量的类型,会改变变量本身的类型
注
settype($num, 'null') 等价于 unset($num);
注
1.当字符串转为整型 或者浮点型时候 开头如果不是数字那么直接转为0
2.空转为整型是整型的0
3.空转为浮点型是浮点型的0
4.空转为字符串是空字符串
5.浮点型的1234.0 转为字符串是1234
6.浮点型的1234.45 转为字符串是1234.45
7.浮点型转为整型的时候小数点后边的全部干掉
自动类型转换:
用 . 拼接时候会转换成字符串
在运算的时候会自动转换
1.做加减乘除运算的时候 字符串会自动转为整型或浮点型
2.bool值参与运算的时候 自动将true转为1 false转为0
3.如果用点拼接字符串 然后在拼接bool值 布尔值true转为1 false转为0
4.如果if小括号里面有运算表达式 最后都转为bool值
注:转为bool值为假的情况
1.整型的0是假 其余都是真
2.浮点型的0.0是假 其余都是真
3.空字符串是为假 就算一个空格他也是真
4.字符串里有一个0 是假 其余为真
5.null(空)是假
6.未声明成功的资源也是假
7.空数组也是为假
4.常量 ()
常量定义
在程序的运行的运行过程中 其值不会被改变的
不可以unset
定义:
define('常量名', '常量值');
规范:
1.常量名用单引号(双引号也行,但是从效率考虑用单引号)
2.一般都常量名都使用大写(规定必须用大写)
3.常量名也区分大小写
4.常量名定义时候也是数字 字母下划线不能以数字开始 尽量不用数字
5.常量的值只能用标量
6.常量的作用域是全局
7.常量调用时候不能写在字符串中,想使用可以用 . 拼接
8.不可以重复定义
常量判断:
defined(常量名)
是否定义了常量 定义了返回true否则返回false
系统常量()
__LINE__ 当前所在行数
__FILE__ 在前所在文件全路径
__DIR__ 所在目录
PHP_OS php运行的系统
PHP_VERSION php的版本
(了解先背下来)
__FUNCTION__:当前函数名
M_PI :圆周率
__CLASS__ :当前类名
__METHOD__:当前成员方法名
__NAMESPACE__:当前命名空间
5.可变变量
$hello = 'lilei';
$lilei = 'hanmeimei';
echo $hello . '<br />';//lilei
echo $lilei . '<br />';//hanmeimei
echo $$hello; // hanmeimei
// $$hello = $lilei;
6.变量的引用
//当我们没有使用&引用变量时两个变量有各自的存储空间
当使用了& 以后 两个变量指向使用的是同一个存储空间
修改一个的值 另一个也会修改
$num = 20;
$num1 = &$num;
$num1 = 30;
echo $num . '<br />';
echo $num1 . '<br />';
7.运算符和表达式
运算符:
表达式:由变量 常量 运算符组成
【注】表达式都有值
算数运算符: + - * / %
赋值运算符: = += -= *= /= %= .=
+=
.=
自增自减:
自增:++$num $num++ 都会让$num + 1
自减:--$num $num-- 都会让$num -1
区别:
$num = 3;
$num1 = ++$num;
++$num 先加再用 先把1加给$num //4 $num1=4
--$num 先减再用
$num1 = $num++
$num++ 先用再加 先把$num本身的值赋给$num1 之后自身+1
$num-- 先用再减
关系运算符:> < >= <= == != === !==
== 模糊等于 只比较值 不比较数据类型
!= 模糊不等于
=== 全等于 就是值和类型都相同表达式才为真
!== 不全等 有一个不管是值还是类型有一个一样 就为真
逻辑运算符 && and || or ! xor
&& and
逻辑与:并且
当两个表达式同时为真 才执行真区间
|| or
逻辑或:或者
当两个表达式只要有一个表达式为真 就执行真区间
xor 逻辑异或
相异时候为真 相同的时候为假
短路原则:
&& and
当第一个表达式为假的时候 直接走假区间 不会判断第二个表达式是真还是假
|| or
当第一个表达式为真的时候,直接走真区间 不会判断第二个表达式为真还是假
!:取反 true取反是false
按位运算(了解)
& | ^ ~ << >>
8.优先级
先乘除后加减 如果不行直接加上小括号
9.三元运算符
? :
表达式 ? 真区间 : 假区间;
其他运算符 @ => ->
``:执行系统的命令
@:抑制错误输出(单行)
=>:数组中键值对的关联符
->:对象成员的访问方式
掌握系统函数
floor():返回不大于 value 的最接近的整数,舍去小数部分取整。
ceil(): 返回不小于 value 的下一个整数,value 如果有小数部分则进一位。
round():四舍五入
PHP官网(中文):http://www.php.net
PHP学院:http://www.phpxy.com
PSR规范
错误:
parse 或者syntax 解析
notice 通知
warning 警告
fatal 致命