From a7ada94a20977a8920d104330323fa53eb5e77b3 Mon Sep 17 00:00:00 2001 From: pengshiyu <1940607002@qq.com> Date: Thu, 3 Mar 2022 10:17:49 +0800 Subject: [PATCH] fix --- _sidebar.md | 6 +- blog/php-basic/index.md | 2 + blog/php-basic/operator.md | 95 +++++++++++++-------------- blog/php-basic/process.md | 131 +++++++++++++++++++++++++++++++++++++ doc/index.md | 21 +++--- doc/javascript.md | 10 ++- doc/tools.md | 17 +++++ 7 files changed, 215 insertions(+), 67 deletions(-) create mode 100644 blog/php-basic/process.md create mode 100644 doc/tools.md diff --git a/_sidebar.md b/_sidebar.md index b3f530b..a4688c2 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -1,3 +1,6 @@ +- 常用 + - [在线工具](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) diff --git a/blog/php-basic/index.md b/blog/php-basic/index.md index 158534d..4e8eb88 100644 --- a/blog/php-basic/index.md +++ b/blog/php-basic/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) diff --git a/blog/php-basic/operator.md b/blog/php-basic/operator.md index a2e7090..c97c905 100644 --- a/blog/php-basic/operator.md +++ b/blog/php-basic/operator.md @@ -1,4 +1,4 @@ -# 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 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 diff --git a/blog/php-basic/process.md b/blog/php-basic/process.md new file mode 100644 index 0000000..4319de3 --- /dev/null +++ b/blog/php-basic/process.md @@ -0,0 +1,131 @@ +# PHP 流程控制 + +代码执行的方向 + +## 控制分类 + +- 顺序结构 代码从上往下,顺序执行 +- 分支结构 根据条件执行某一段代码 +- 循环结构 指定代码块重复执行 + +## 顺序结构 + +最基本的结构,所有代码默认都是从上往下依次执行 + +## 分支结构 + +1、if 分支 + +基本语法 + +``` +1、最简if +if(条件表达式){ + 满足条件所要执行的代码 +} + +2、基础if +if(条件){ + 满足 +} +else{ + 不满足 +} + +3、复杂if +if(条件1){ + 满足条件1 +} +else if(条件2){ + 满足条件2 +} +else{ + 不满足 +} +``` + +注意: 嵌套层数不宜过多 + +示例 + +```php +