PHP学习日志-001-基础
数据类型与运算符
数据类型概述
返回变量的数据类型
简述命名规则 :很多命名规则都是 字母数字下划线 ,还有驼峰命名法的,大体上就这些。命名规则其他编程语言也适用。
var_dump(); |
数据类型
类型 | 释义 | 补充 |
---|---|---|
bool | 布尔类型 | true/false[ 0,0.0,'','0',array(),null ] (方括号内表示false的情况,其他情况都是true) |
int | 整形 | - |
float | 浮点型 | 带小数 - |
string | 字符串 | 单引号 : 简单字符串效率高,且字符串出现变量时不会生效。 双引号 : 可以解析引号内的变量,最好使用{}框住变量 定界符 : 形如 <<<标识符 内容 标识符 标识符内的内容可以写任何内容,可以包裹特殊符号,但和双引号一样,变量需要{}囊括起来 |
array | 数组 | array(“name”=>”Tom”,”sex”=>”man”) 打印数组:print_r 一般是下标访问数组:$c[下标] 下上面的”name”就是一个下标,且不等于name时不输出”Tom” |
object | 对象 | 较复杂,后面补充 |
resource | 资源 | 访问外部资源 |
NULL | 空值 | 表示没有任何值 |
数据类型转换
自转
参与数据运算时,会出现其他数据类型自动转换为数值参与运算的情况。最好不涉及。
强转
类型的强制转换: (数据类型)需要转换的数据
例如: (int)$a ;
bool,float,string,array,object都可以强转。
测试函数
形如: is_数据类型(数据) ;
例如: is_bool($a) ;
其他数据类型也有
常量
常量的定义+使用+区别(常量与变量)
定义常量: define(“变量名”,”变量值”);
使用常量: echo 常量名;
检查是否定义了某常量: defined(“变量名”);
常量与变量的区别:
- 不理会变量规则,在任何地方定义与使用。
- 没有$,仅define定义,不可重新定义和修改
- 值类型:bool,int,float,string
- 预定义常量不区分大小写,自定义常量区分大小写。
预定义常量
系统定义好的常量
常量名 | 常量值 |
---|---|
__FILE__ | 当前文件在系统当中的完整路径和文件名 |
__LINE__ | 当前行数 |
__FUNCTION__ | 当前的函数名 |
__CLASS__ | 当前的类名 |
__METHOD__ | 当前对象的方法名 |
PHP_OS | UNIX或WINNT等 |
PHP_VERSION | 当前PHP服务器的版本 |
DIRECTORY_SERARATOR | \或/ 根据操作系统决定目录的分隔符 |
… | … |
8个常用魔术常量
名字 | 说明 |
---|---|
__LINE__ | 文件中的当前行号。 |
__FILE__ | 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。 |
__DIR__ | 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 \d\irname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。 |
__FUNCTION__ | 当前函数的名称。匿名函数则为 {closure}。 |
__CLASS__ | 当前类的名称。类名包括其被声明的作用域(例如 Foo\Bar)。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。 |
__TRAIT__ | Trait 的名字。Trait 名包括其被声明的作用域(例如 Foo\Bar)。 |
__METHOD__ | 类的方法名。 |
__NAMESPACE__ | 当前命名空间的名称。 |
ClassName::class | 完整的类名。 |
运算符
简略概述
1.算数运算符 |
优先级
摘录于官网。
结合方向 | 运算符 | 附加信息 |
---|---|---|
不适用 | clone new | clone 和 new |
右 | ** | 算术运算符 |
不适用 | + - ++ – ~ (int) (float) (string) (array) (object) (bool) @ | 算术 (一元 + 和 -), 递增/递减, 按位, 类型转换 和 错误控制 |
左 | instanceof | 类型 |
不适用 | ! | 逻辑运算符 |
左 | * / % | 算术运算符 |
左 | + - . | 算数 (二元 + 和 -), array 和 string (. PHP 8.0.0 前可用) |
左 | << >> | 位运算符 |
左 | . | string (PHP 8.0.0 起可用) |
无 | < <= > >= | 比较运算符 |
无 | == != === !== <> <=> | 比较运算符 |
左 | & | 位运算符 和 引用 |
左 | ^ | 位运算符 |
左 | | | 位运算符 |
左 | && | 逻辑运算符 |
左 | || | 逻辑运算符 |
右 | ?? | null 合并运算符 |
无关联 | ? : | 三元运算符 (PHP 8.0.0 之前左联) |
右 | = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | 赋值运算符 |
不适用 | yield from | yield from |
不适用 | yield | yield |
不适用 | ||
左 | and | 逻辑运算符 |
左 | xor | 逻辑运算符 |
左 | or | 逻辑运算符 |
结合方向:规定从哪个方向开始算的问题。
优先级归纳:
1) [无]递增递减
2) [右]逻辑非!
3) [左]乘,除,取余
4) [左]加,减,字符串连接符
5) [无]包含大于号或者小于号的比较运算符6)[无]不包含大于号或者小于号的比较运算符
6) [左]逻辑与&&
7) [左]逻辑或1
8) [左]? :
9) [右]赋值运算符
10) [左]逻辑异或xor
圆括号的作用:
用圆括号可以将表达式里面的某一块看成一个整体 !
+增强代码可读性
+优先执行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 矢幽武博客!
评论