Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
檀越@新空间
Coding Tree
提交
149c7b48
C
Coding Tree
项目概览
檀越@新空间
/
Coding Tree
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coding Tree
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
149c7b48
编写于
2月 28, 2022
作者:
彭世瑜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix
上级
4345cc91
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
310 addition
and
1 deletion
+310
-1
blog/php-basic/index.md
blog/php-basic/index.md
+2
-0
blog/php-basic/operator.md
blog/php-basic/operator.md
+148
-0
blog/php-basic/type.md
blog/php-basic/type.md
+160
-1
未找到文件。
blog/php-basic/index.md
浏览文件 @
149c7b48
...
@@ -9,3 +9,5 @@
...
@@ -9,3 +9,5 @@
[
PHP 变量和常量
](
blog/php-basic/variable.md
)
[
PHP 变量和常量
](
blog/php-basic/variable.md
)
[
PHP数据类型
](
blog/php-basic/type.md
)
[
PHP数据类型
](
blog/php-basic/type.md
)
[
PHP运算符 operator
](
blog/php-basic/operator.md
)
blog/php-basic/operator.md
0 → 100644
浏览文件 @
149c7b48
# PHP运算符 operator
## 赋值运算符
`=`
将右边的结果(变量,数据,常量)保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量
## 算术运算符
-
加
`+`
-
减
`-`
-
乘
`*`
-
除
`/`
-
取余
`%`
注意:除法和取余的第二个参数不能为 0
```
php
// 连贯赋值运算
$a
=
$b
=
10
;
```
## 比较运算符
比较两个数据,返回 bool 值
```
> 大于
>= 大于等于
< 小于
<= 小于等于
== 相等,值相等
!= 不相等
=== 全等,数据类型和数据值都相等
!== 全不相等
```
```
php
<?php
$a
=
123
;
$b
=
'123'
;
var_dump
(
$a
==
$b
);
// bool(true)
var_dump
(
$a
===
$b
);
// bool(false)
```
## 逻辑运算符
返回 bool 值
```
&& 逻辑与 两边都为true
|| 逻辑或 一边为true
! 逻辑非 取反
```
```
php
<?php
$a
=
'tom'
;
$b
=
'jacks'
;
// 逻辑与
var_dump
(
$a
==
'tom'
&&
$b
==
'jack'
);
// bool(false)
// 逻辑或
var_dump
(
$a
==
'tom'
||
$b
==
'jack'
);
// bool(true)
// 逻辑非
var_dump
(
$b
==
'jack'
);
// bool(false)
var_dump
(
!
(
$b
==
'jack'
));
// bool(true)
```
逻辑与和逻辑非,又称为短路运算,如果第一个表达式满足条件,就不会判断第二个条件
一般把频率出现高(能够直接判断出结果)的放在第一位
## 连接运算符
PHP 中将多个字符串拼接在一起
-
`.`
将两个字符串连接到一起
-
`.=`
复合运算,两个字符连接起来,并赋值给左边变量
```
php
<?php
$a
=
'Hello'
;
$b
=
'World'
;
var_dump
(
$a
.
$b
);
// string(10) "HelloWorld"
// 相当于 $a = $a . $b;
$a
.
=
$b
;
var_dump
(
$a
);
// string(10) "HelloWorld"
```
## 错误抑制符
`@`
不显示报错内容
```
php
<?php
echo
@
(
1
/
0
);
// INF
```
通常在生产环境使用
## 三目运算符
有三个表达式参与运算,简单的分支结构
语法格式
```
表达式1 ? 表达式2 : 表达式3
```
如果表达式 1 为 ture, 执行表达式 2, 否则执行表达式 3
```
php
<?php
echo
1
>
10
?
'1大于10'
:
'1小于10'
;
// 1小于10
```
复合三目运算符
```
表达式1 ? (表达式2 ? 表达式3 : 表达式4) : (表达式5 ? 表达式6 : 表达式7)
```
## 自操作运算符
https://www.bilibili.com/video/BV18x411H7qD?p=32&spm_id_from=pageDriver
blog/php-basic/type.md
浏览文件 @
149c7b48
...
@@ -87,4 +87,163 @@ echo gettype($a);
...
@@ -87,4 +87,163 @@ echo gettype($a);
-
settype:改变数据本身
-
settype:改变数据本身
## 整数类型
## 整数类型
https://www.bilibili.com/video/BV18x411H7qD?p=26
\ No newline at end of file
1、定义整数类型的方式
```
php
<?php
// 十进制 120 = 1 x 100 + 2 x 10 + 0 x 1
$a
=
120
;
echo
$a
.
PHP_EOL
;
// 二进制 6 = 1 x 4 + 1 x 2 + 0 x 1
$b
=
0b110
;
echo
$b
.
PHP_EOL
;
// 八进制 80 = 1 x 64 + 2 x 8 + 0 x 1
$c
=
0120
;
echo
$c
.
PHP_EOL
;
// 十六进制 288 = 1 x 16 x 16 + 2 x 16 + 0 x 1
$d
=
0x120
;
echo
$d
.
PHP_EOL
;
```
PHP输出默认都是十进制
2、进制
-
十进制:逢10进1,[0-9]
-
二进制:逢2进1,[0-1]
-
八进制:逢8进1,[0-7]
-
十六进制:逢16进1,[0-9, A-F]
3、进制转换
十进制 转 二进制
方式一:除2取余
```
10 -> 1010
10 / 2 = 5 ... 0
5 / 2 = 2 ... 1
2 / 2 = 1 ... 0
1 / 2 = 0...1
```
方式二:取出最大的2的N次方,直到结果为0
```
10
= 8 + 2
= 2^3 + 2^1
= 1 x 2^3 + 0 x 2^2 + 1 x 2^1 + 0 x 2^0
=> 1010
```
二进制转十进制
方式:右侧开始,对应位数乘以2的N次幂,相加求和
```
110
=> 1 x 2^2 + 1 x 2^1 + 0 x 2^0
= 4 + 2 + 0
= 6
```
4、PHP提供的进制转换方法
```
php
// 十进制 转 二进制
echo
decbin
(
12
);
// 1100
// 十进制 转 八进制
echo
decoct
(
12
);
// 14
// 十进制 转 十六进制
echo
dechex
(
12
);
// c
```
## 浮点类型
浮点类型的定义方式
```
php
<?php
$f1
=
1.23
;
var_dump
(
$f1
);
// float(1.23)
// 科学计数法 e表示10为底
$f2
=
1.23e10
;
var_dump
(
$f2
);
// float(12300000000)
// 整型超过自身存储的大小后会用浮点型存储
$f3
=
PHP_INT_MAX
+
1
;
var_dump
(
$f3
);
// float(9.2233720368548E+18)
```
计算机中浮点数都不准确
```
php
var_dump
(
2.1
/
3
);
// float(0.7)
var_dump
(
2.1
/
3
==
0.7
);
// bool(false)
```
## 布尔类型
只有两个值:true/false
通常用于判断比较
```
php
var_dump
(
true
);
// bool(true)
var_dump
(
FALSE
);
// bool(false)
```
类型比较需要注意:
-
empty() 判断数据的值是否为空,不是null, 如果为空返回true,不为空返回false
-
isset() 判断数据存储的变量本身是否存在,存在返回true,不存在返回false
## PHP 类型比较表:
https://www.php.net/manual/zh/types.comparisons.php
使用 PHP 函数对变量 $x 进行比较
表达式 | gettype()|empty() | is_null()|isset() | boolean : if($x)
-
| - | - | - | -| -
$x = "";| string |
`true`
| false|
`true`
| false
$x = null; | NULL|
`true`
|
`true`
| false|false
var $x; | NULL|
`true`
|
`true`
| false|false
$x is undefined | NULL|
`true`
|
`true`
| false|false
$x = [];| array|
`true`
| false|
`true`
| false
$x = ['a', 'b'];| array|false|false|
`true`
|
`true`
$x = false; | boolean |
`true`
| false|
`true`
| false
$x = true; | boolean | false|false|
`true`
|
`true`
$x = 1; | integer | false|false|
`true`
|
`true`
$x = 42;| integer | false|false|
`true`
|
`true`
$x = 0; | integer|
`true`
| false|
`true`
| false
$x = -1;| integer| false|false|
`true`
|
`true`
$x = "1";|string | false|false|
`true`
|
`true`
$x = "0";|string |
`true`
| false|
`true`
| false
$x = "-1"; | string | false|false|
`true`
|
`true`
$x = "php"; | string | false|false|
`true`
|
`true`
$x = "true";| string | false|false|
`true`
|
`true`
$x = "false";|string | false|false|
`true`
|
`true`
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录