提交 a7ada94a 编写于 作者: 彭世瑜's avatar 彭世瑜

fix

上级 54a77055
- 常用
- [在线工具](doc/tools.md)
- 前端
- [Html](doc/html.md)
......@@ -26,4 +29,5 @@
- [Neo4j](doc/neo4j.md)
- [Redis](doc/redis.md)
- [其他](doc/index.md)
- 其他
- [其他](doc/index.md)
......@@ -11,3 +11,5 @@
[PHP数据类型](blog/php-basic/type.md)
[PHP运算符 operator](blog/php-basic/operator.md)
[PHP 流程控制](blog/php-basic/process.md)
# PHP运算符 operator
# PHP 运算符 operator
## 赋值运算符
......@@ -187,24 +187,23 @@ var_dump($a); // int(5)
%=
```
需要注意除法或取余,右边的操作数为0的情况
需要注意除法或取余,右边的操作数为 0 的情况
## 计算机码
计算机码:计算机实际存储数据的时候,采用的编码规则(二进制规则)
数值本身最左边第一位是符号位,正数0,负数1
数值本身最左边第一位是符号位,正数 0,负数 1
原码、反码、补码
- 原码 数据本身从十进制转换成二进制得到的结果
- 正数:左边符号位为0(正数的原码,反码和补码就是原码本身)
- 负数:左边符号位为1
- 正数:左边符号位为 0(正数的原码,反码和补码就是原码本身)
- 负数:左边符号位为 1
- 反码 针对负数,符号位不变,其他位取反
- 补码 针对负数,反码+1
系统中存在两个0
系统中存在两个 0
```
+0 0000 0000
......@@ -223,7 +222,7 @@ var_dump($a); // int(5)
## 位运算符
位运算:取出计算机中最小的单位(位bit)进行运算
位运算:取出计算机中最小的单位(位 bit)进行运算
```
& 按位与 两位都为1,结果为1,否则为0
......@@ -232,13 +231,13 @@ var_dump($a); // int(5)
^ 按位异或 两位相同则为0,不同为1
<< 按位左移 所有位向左移动一位,右边补0,相当于乘以2
>> 按位右移 所有为向右移动一位,左边补符号位对应内容(正数补0,负数补1),相当于除以2
````
```
注意:
- 系统进行任何位运算的时候使用的都是补码
- 运算结束之后都必须转换成原码才是最终显示的数据
按位与
```php
......@@ -252,8 +251,8 @@ var_dump($a & $b);
// 计算过程:
// 5 0000 0101 (正数 原码==反码==补码)
// -5 1000 0101(原码)
// -> 1111 1010(反码)
// -5 1000 0101(原码)
// -> 1111 1010(反码)
// -> 1111 1011(补码)
// 5 0000 0101
......@@ -264,6 +263,7 @@ var_dump($a & $b);
```
按位非运算
```php
<?php
......@@ -273,8 +273,8 @@ var_dump(~$b);
// int(4)
// 计算过程:
// -5 1000 0101(原码)
// -> 1111 1010(反码)
// -5 1000 0101(原码)
// -> 1111 1010(反码)
// -> 1111 1011(补码)
// -5 1111 1011(补码)
......@@ -283,7 +283,6 @@ var_dump(~$b);
```
按位右移
```php
......@@ -295,51 +294,47 @@ var_dump($b>>2);
// int(-2)
// 计算过程:
// -5 1000 0101(原码)
// -> 1111 1010(反码)
// -5 1000 0101(原码)
// -> 1111 1010(反码)
// -> 1111 1011(补码)
// -5 1111 1011(补码)
// >>2 --11 1110
// 1111 1110 运算结果,左边补符号位(符号位为0,是负数补码)
// -1 1111 1101 反码
// 1000 0010 原码
// -1 1111 1101 反码
// 1000 0010 原码
// -2
```
运算符的优先级(由高到低)
结合方向| 运算符 |附加信息
- | - | -
不适用 | 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
不适用 | print| print
左| and | 逻辑运算符
左| xor| 逻辑运算符
左| or | 逻辑运算符
| 结合方向 | 运算符 | 附加信息 |
| -------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 不适用 | 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 |
| 不适用 | print | print |
| 左 | and | 逻辑运算符 |
| 左 | xor | 逻辑运算符 |
| 左 | or | 逻辑运算符 |
文档:[https://www.php.net/manual/zh/language.operators.precedence.php](https://www.php.net/manual/zh/language.operators.precedence.php)
https://www.bilibili.com/video/BV18x411H7qD?p=34&spm_id_from=pageDriver
\ No newline at end of file
# PHP 流程控制
代码执行的方向
## 控制分类
- 顺序结构 代码从上往下,顺序执行
- 分支结构 根据条件执行某一段代码
- 循环结构 指定代码块重复执行
## 顺序结构
最基本的结构,所有代码默认都是从上往下依次执行
## 分支结构
1、if 分支
基本语法
```
1、最简if
if(条件表达式){
满足条件所要执行的代码
}
2、基础if
if(条件){
满足
}
else{
不满足
}
3、复杂if
if(条件1){
满足条件1
}
else if(条件2){
满足条件2
}
else{
不满足
}
```
注意: 嵌套层数不宜过多
示例
```php
<?php
$a = 1;
if ($a == 1) {
echo '星期一';
} else if ($a == 2) {
echo '星期二';
} else {
echo '未知';
}
// 星期一
```
2、switch 分支
使用场景:同一个条件有多个值
基本语法
```
switch(条件表达式){
case 值1: // 判断表达式的结果与值相等
要执行的代码段1;
break;
case 值2:
要执行的代码段2;
break;
...
default:
默认自行的代码;
}
```
switch 匹配成功后,会执行之后的代码,需要使用 break 跳出
```php
<?php
$a = 1;
switch ($a) {
case 1:
echo '星期一';
break;
case 2:
echo '星期二';
break;
default:
echo '未知';
}
// 星期一
```
if 和 switch 的选择
- if 能做所有的的分支结构
- switch 处理的条件多,用于固定的条件
## 循环结构
- for 循环
- while 循环
- do-while 循环
- foreach 循环,专门针对数组
1、for 循环
基本语法
```
for(初始化条件; 边界表达式; 条件变化){
// 循环体
}
```
https://www.bilibili.com/video/BV18x411H7qD?p=37&spm_id_from=pageDriver
\ No newline at end of file
......@@ -16,8 +16,6 @@
## 工具
[百度 AI 网络图片文字识别](https://ai.baidu.com/tech/ocr_others/webimage)
[ZY Player](http://zyplayer.fun/): 跨平台视频资源播放器, 简洁免费无广告.
[Md2All](http://md.aclickall.com/): Markdown 排版利器
......@@ -46,19 +44,8 @@ Logo:https://www.logoly.pro/
[Cmder](https://cmder.net/): Windows 下的终端工具 Portable console emulator for Windows
[在线工具 tool.lu ](https://tool.lu/)
- [favicon 在线制作](https://tool.lu/favicon/)
[multiavatar 虚拟头像生成](https://multiavatar.com/)
[Faker API](https://fakerapi.it/it): a collection of completely free APIs that helps web developers and web designers generate fake data in a fast and easy way. No registration is required. No tokens, no authentication.
[DownGit](https://zhoudaxiaa.gitee.io/downgit/): 创建 GitHub 资源下载链接
[Nestopia](http://nestopia.sourceforge.net/): Nintendo NES Emulator
[玩的嗨-vip视频在线解析](https://tv.wandhi.com/go.html)
[Hoppscotch](https://hoppscotch.io/): Postwoman
- github: [https://github.com/hoppscotch/hoppscotch](https://github.com/hoppscotch/hoppscotch)
......@@ -82,6 +69,12 @@ Logo:https://www.logoly.pro/
[FeHelper ( 浏览器插件 )](https://www.baidufe.com/fehelper/index/index.html) Web开发者助手 FeHelper
[JetBrains](https://www.jetbrains.com/)Essential tools for software developers and teams
[uTools官网 ](http://www.u.tools/)新一代效率工具平台
[Snipaste](https://zh.snipaste.com/index.html) 截图 + 贴图,提高您的工作效率
## 学习资料:
2022 黑马程序员 Java 学习路线图
......@@ -93,3 +86,5 @@ https://www.bilibili.com/video/BV1Kr4y1i7ru
## 网站
[电脑爱好者](https://www.cfan.com.cn/)
[Road To Coding](https://www.r2coding.com/#/)意为编程自学之路,是自学编程以来所用资源和分享内容的大聚合。
......@@ -37,7 +37,7 @@
[jQuery](https://jquery.com/)
- [jQuery API 3.5.1 速查表](https://jquery.cuishifeng.cn/)
- [jQuery API 3.5.1 速查表](https://jquery.cuishifeng.cn/)
- [jQuery 教程](https://www.w3school.com.cn/jquery/index.asp): 极大地简化了 JavaScript 编程
......@@ -67,11 +67,11 @@
[Sails.js](https://sailsjs.com/)The MVC framework for Node.js
[iView UI](https://iviewui.com/docs/guide/install): 一套基于 Vue.js 的高质量UI 组件库
[iView UI](https://iviewui.com/docs/guide/install): 一套基于 Vue.js 的高质量 UI 组件库
[Vant 2](https://vant-contrib.gitee.io/vant/v2/#/zh-CN/) 轻量、可靠的移动端 Vue 组件库
[Swiper](https://www.swiper.com.cn/)(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件
[Swiper](https://www.swiper.com.cn/)(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动 js 插件
[Moment.js](http://momentjs.cn/) JavaScript 日期处理类库
......@@ -104,3 +104,7 @@ https://npm.devtool.tech/
[Express 中文网](https://www.expressjs.com.cn/): 基于 Node.js 平台,快速、开放、极简的 Web 开发框架
[Yarn 中文文档](https://yarn.bootcss.com/)快速、可靠、安全的依赖管理工具
## 文章
[能解决 90% 需求的 js 库](https://juejin.cn/post/7024011415144890405)
# 在线工具
[百度 AI 网络图片文字识别](https://ai.baidu.com/tech/ocr_others/webimage)
[在线工具 tool.lu ](https://tool.lu/)
- [favicon 在线制作](https://tool.lu/favicon/)
- [在线JSON转PHP数组工具](https://uutool.cn/json2php/)
[multiavatar 虚拟头像生成](https://multiavatar.com/)
[Faker API](https://fakerapi.it/it): a collection of completely free APIs that helps web developers and web designers generate fake data in a fast and easy way. No registration is required. No tokens, no authentication.
[DownGit](https://zhoudaxiaa.gitee.io/downgit/): 创建 GitHub 资源下载链接
[玩的嗨-vip视频在线解析](https://tv.wandhi.com/go.html)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册