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

fix

上级 a7ada94a
# PHP 文件包含
在一个 PHP 脚本中,去将另一个文件包含进来
## 文件包含的作用
实现代码共享重用,协作共同完成一件事
1. 使用被包含文件中的内容:向上包含(所要)
2. 自己的东西可以给别的文件使用:向下包含(给与)
## 文件包含的四种形式
1. include 包含文件
2. include_once 一个文件最多被包含一次
3. require 与 include 相同
4. require_once 与 include_once 相同
语法
```
include '文件路径';
include('文件路径');
```
- 向上包含:先包含文件,再使用文件中的内容
- 向下包含:先准备内容,然后包含另外的文件,在另外的文件中使用当前内容
示例: 向上包含
```php
<?php
// demo1.php
$PI = 3.14;
```
```php
<?php
// demo.php
include 'demo1.php';
echo $PI;
// 3.14
```
示例: 向下包含
```php
<?php
// demo1.php
$PI = 3.14;
include 'demo.php';
// 3.14
```
```php
<?php
// demo.php
echo $PI;
```
## 文件加载原理
文件加载(include 或者 require)的时候,系统会自动将被包含的文件中的代码嵌入到当前文件中
在哪里加载,就嵌入到哪里
PHP 代码的执行流程
1. 读取 PHP 代码文件
2. 编译:将 PHP 代码转换成字节码(opcode)
3. zendengine 来解析 opcode,按照字节码去进行逻辑运算
4. 转换成对应的 HTML 代码
PHP 中被包含的文件是单独进行编译的
PHP 文件在编译的过程中,如果出现了语法错误,那么会失败(不会执行);
但是,如果被包含的文件有错误的时候,系统会在执行到包含 include 这条语句的时候才会报错
示例
```php
<?php
// demo.php
// 此处故意少了一个分号
echo $PI
```
```php
<?php
// demo1.php
$PI = 3.14;
// 该行正常输出
echo 'hello';
// 执行到该行会报错
include 'demo.php';
// helloPHP Parse error: syntax error, unexpected end of file, expecting ',' or ';'
```
## include 和 require 区别
https://www.bilibili.com/video/BV18x411H7qD?p=56&spm_id_from=pageDriver
......@@ -8,8 +8,12 @@
[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)
[PHP 运算符 operator](blog/php-basic/operator.md)
[PHP 流程控制](blog/php-basic/process.md)
[PHP 常用的系统函数](blog/php-basic/system.md)
[PHP 文件包含](blog/php-basic/include.md)
......@@ -18,29 +18,29 @@
基本语法
```
1、最简if
```php
// 1、最简if
if(条件表达式){
满足条件所要执行的代码
// 满足条件所要执行的代码
}
2、基础if
// 2、基础if
if(条件){
满足
// 满足
}
else{
不满足
// 不满足
}
3、复杂if
// 3、复杂if
if(条件1){
满足条件1
// 满足条件1
}
else if(条件2){
满足条件2
// 满足条件2
}
else{
不满足
// 不满足
}
```
......@@ -70,7 +70,7 @@ if ($a == 1) {
基本语法
```
```php
switch(条件表达式){
case 值1: // 判断表达式的结果与值相等
要执行的代码段1;
......@@ -127,5 +127,164 @@ for(初始化条件; 边界表达式; 条件变化){
}
```
示例
```php
<?php
// 循环输出1-10
for ($i = 1; $i <= 10; $i++) {
echo $i . ' ';
}
// 1 2 3 4 5 6 7 8 9 10
// 初始化语句中,定义多个变量
for ($i = 1, $end = 10; $i <= $end; $i++) {
echo $i . ' ';
}
```
For循环特殊使用:死循环,避免出现
```php
for(;;){
// 无限循环
}
```
2、while循环
基本语法
```php
条件初始化;
while条件表达式{
// 循环体
// 循环条件的变化
}
```
示例
```php
<?php
$i = 1;
while( $i <= 10 ){
echo $i . ' ';
$i++;
}
// 1 2 3 4 5 6 7 8 9 10
```
For和while的选择
- For循环:基于已知条件,数值有规律变化
- while循环:灵活条件判定
3、do-while
基本语法
```
do{
// 循环体
} while(判断条件);
```
示例
```php
<?php
$i = 1;
do{
echo $i . ' ';
$i++;
}
while( $i <= 10 );
// 1 2 3 4 5 6 7 8 9 10
```
## 循环控制
在循环体内部对循环本身进行控制
- 中断控制 continue:重新开始循环,循环体重还有其他内容,也执行
- 终止控制 break:循环直接结束
```php
<?php
for ($i=0; $i < 10; $i++) {
if($i % 2 == 0){
continue;
}
https://www.bilibili.com/video/BV18x411H7qD?p=37&spm_id_from=pageDriver
\ No newline at end of file
if($i == 8){
break;
}
echo $i . ' ';
}
// 1 3 5 7 9
```
## 流程控制替代语法
分支和循环结构的替代语法
HTML和PHP进行混搭
```php
<table>
<!-- 输出 99乘法表 -->
<?php for ($i = 1; $i < 10; $i++) { ?>
<tr>
<?php for ($j = 1; $j <= $i; $j++) { ?>
<td> <?php echo $i . ' * ' . $j . ' = ' . $i * $j; ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
```
```
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
```
另一种书写for的方式
```php
<table>
<!-- 输出 99乘法表 -->
<?php for ($i = 1; $i < 10; $i++) : ?>
<tr>
<?php for ($j = 1; $j <= $i; $j++) : ?>
<td> <?php echo $i . ' * ' . $j . ' = ' . $i * $j; ?></td>
<?php endfor ?>
</tr>
<?php endfor ?>
</table>
```
PHP在HTML中应该只做数据输出
```
if() {} => if(): endif;
```
\ No newline at end of file
# PHP 常用的系统函数
## 输出函数
- print() 类似 echo 输出,返回 1
- print_r() 类似 var_dump(), 不会输出类型,只会输出值
```php
<?php
echo 'hello world';
// hello world
print 'hello world';
// hello world
print('hello world');
// hello world
print_r('hello world');
// hello world
var_dump('hello world');
// string(11) "hello world"
```
## 时间函数
时间戳:格林威治时间 (`1970-01-01 00:00:00`)到当前时间的秒数
1、date() 格式化一个本地时间/日期
```php
date(string $format, int $timestamp = ?): string
// eg:
echo date('Y-m-d H:i:s');
// 2022-03-03 22:13:20
```
format 参数:[https://www.php.net/manual/zh/function.date.php](https://www.php.net/manual/zh/function.date.php)
2、time() 获取当前时间的时间戳
```php
time(): int
// eg:
echo time();
// 1646316860
```
3、microtime() 返回当前 Unix 时间戳以及微秒数
```php
microtime(bool $get_as_float = ?): mixed
PHP >= 5.0.0 get_as_float=truemicrotime() 将返回一个浮点数
// eg:
echo microtime();
// 0.61349600 1646316936
echo microtime(true);
// 1646317009.6239
```
4、strtotime(): 将任何字符串的日期时间描述解析为 Unix 时间戳
```php
strtotime(string $datetime, int $now = time()): int
// eg:
echo strtotime('2022-03-03 22:13:20');
// 1646316800
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册