## :-: 一、`php` 語法
### 1、語言標記
* 開始標記 `<?php` 和 結束標記 `?>` 中間寫 `PHP` 代碼
```php
<?php
?>
```
### 2、`echo` 輸出
```php
<?php
echo 'Hello World!';
?>
```
### 3、`php` 嵌入到 `HTML` 中
* 可以嵌入多個 `PHP` 標記
```php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php echo '我是歐陽克'; ?>
<?php echo '我是黃蓉'; ?>
</body>
</html>
```
### 4、語句結束符 `;`
---
## :-: 二、php注釋
* `php` 執行會跳過注釋
* 注釋更方便的理解代碼
```php
# php中的單行注釋
// php中的單行注釋
/*
* php中的多行注釋
*/
/*
_oo8oo_
o8888888o
88" . "88
(| -_- |)
0\ = /0
___/'==='\___
.' \\| |// '.
/ \\||| : |||// \
/ _||||| -:- |||||_ \
| | \\\ - /// | |
| \_| ''\---/'' |_/ |
\ .-\__ '-' __/-. /
___'. .' /--.--\ '. .'___
."" '< '.___\_<|>_/___.' >' "".
| | : `- \`.:`\ _ /`:.`/ -` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
=====`-.____`.___ \_____/ ___.`____.-`=====
`=---=`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
佛祖保佑 永無bug
*/
```
---
## :-: 三、`php` 變量
### 1、聲明變量
```php
<?php
$a = '歐陽克';
echo $a;
?>
```
### 2、變量命名規則
* 開頭不能用數字
* 中間不能有空格
```php
<?php
# 下劃線命名法
$my_name = '歐陽克';
echo $my_name;
echo '<hr>';
# 小駝峰命名法
$myName = '黃蓉';
echo $myName;
echo '<hr>';
# 大駝峰命名法
$MyName = '郭靖';
echo $MyName;
?>
```
### 3、引號作用
* 單引號里面是文本
* 雙引號里面可以是文本和變量
```php
<?php
$php = '我是"歐陽克"!';
echo $php;
echo '<hr>';
$php = "我是'歐陽克'!";
echo $php;
echo '<hr>';
$name = '歐陽克';
$php = "我是{$name}!";
echo $php;
echo '<hr>';
?>
```
### 4、轉移字符 `\`
```php
# 如果有重復引號,需要在引號前增加轉移字符
$php = "我是\"歐陽克\"!";
echo $php;
echo '<hr>';
$php = "\\";
echo $php;
```
---
## :-: 四、`php` 常量
* 常量聲明后,不允許改變
* 有效的常量名以字符或下劃線開頭
```php
define('SITE_SUFFIX','www.xx.com');
echo SITE_SUFFIX;
echo '<hr>';
define('OUYANGKE','歐陽克');
echo OUYANGKE;
```
---
## :-: 五、`php` 數據類型
**類型**|**描述**
---|---
布爾型 `Boolean`|`true` 和 `false`
整型 `Integer`|0 - 無限大
浮點型 `Float`|帶小數的數字
字符串 `String`|漢字、英文、符合、其它國家語言
數組 `Array`|數組可以在一個變量中存儲多個值
對象 `Object`|對象數據類型也可以用于存儲數據
空值 `NULL`|表示變量沒有值
> echo 輸出數據值,開發時使用
> var_dump 可以打印數據類型和值,測試時使用
### 1、布爾型
* 布爾型通常用于條件判斷
```php
<?php
$x = true;
var_dump($x);
echo '<hr>';
$y = false;
var_dump($y);
?>
```
### 2、整型
* 整數不能包含逗號或空格
* 整數是沒有小數點的
* 整數可以是正數或負數
* 整型可以用三種格式來指定:十進制、十六進制、八進制
```php
<?php
$number = 0;
var_dump($number);
echo '<hr>';
$number = 67;
var_dump($number);
echo '<hr>';
$number = -322;
var_dump($number);
?>
```
### 3、浮點型
* 帶小數部分的數字
```php
<?php
$number = 10.03;
var_dump($number);
echo '<hr>';
$number = -88.23;
var_dump($number);
?>
```
### 4、字符串
```php
<?php
$str = '我是歐陽克';
var_dump($str);
echo '<hr>';
$str = 'My name is ou yang ke';
var_dump($str);
?>
```
### 5、NULL
* NULL 值表示變量沒有值
```php
<?php
$null;
var_dump($null);
echo '<hr>';
$null = '';
var_dump($null);
echo '<hr>';
$null = null;
var_dump($null);
?>
```
> 備:數組和對象,比較復雜,后面的課程會單獨講
---
## :-: 六、`php` 函數
* `php` 自帶的一些功能方法,叫函數
* `php` 擁有1000多個內建的函數函數
**函數**|**描述**
---|---
`is_bool()`|判斷是否是布爾型
`is_int()`|判斷是否是整型
`is_float()`|判斷是否是浮點型
`is_string()`|判斷是否是字符串
`is_null()`|判斷是否是為空
`isset()`|判斷變量是否有值
`empty()`|判斷變量是否為空
`unset()`|釋放變量
### 1、`is_bool` 判斷是否是布爾型
```php
<?php
$bool = true;
var_dump(is_bool($bool));
echo '<hr>';
$bool = false;
var_dump(is_bool($bool));
echo '<hr>';
$bool = 33;
var_dump(is_bool($bool));
echo '<hr>';
$bool = '歐陽克';
var_dump(is_bool($bool));
echo '<hr>';
?>
```
### 2、`is_int` 判斷是否是整型
```php
<?php
$bool = true;
var_dump(is_int($bool));
echo '<hr>';
$bool = 33;
var_dump(is_int($bool));
echo '<hr>';
$bool = '歐陽克';
var_dump(is_int($bool));
echo '<hr>';
?>
```
### 3、`is_float` 判斷是否是浮點型
```php
<?php
$bool = true;
var_dump(is_float($bool));
echo '<hr>';
$bool = 33;
var_dump(is_float($bool));
echo '<hr>';
$bool = '歐陽克';
var_dump(is_float($bool));
echo '<hr>';
$bool = 22.22;
var_dump(is_float($bool));
echo '<hr>';
?>
```
### 4、`is_string` 判斷是否是字符串
```php
<?php
$bool = true;
var_dump(is_string($bool));
echo '<hr>';
$bool = 33;
var_dump(is_string($bool));
echo '<hr>';
$bool = '歐陽克';
var_dump(is_string($bool));
echo '<hr>';
$bool = 22.22;
var_dump(is_string($bool));
echo '<hr>';
?>
```
### 5、`is_null` 判斷是否是為空
```php
<?php
$str = null;
var_dump(is_null($str));
echo '<hr>';
$str = '歐陽克';
var_dump(is_null($str));
echo '<hr>';
$str = 0;
var_dump(is_null($str));
echo '<hr>';
?>
```
### 6、`isset` 判斷變量是否有值
```php
<?php
var_dump(isset($str));
echo '<hr>';
$str = null;
var_dump(isset($str));
echo '<hr>';
$str = 'null';
var_dump(isset($str));
echo '<hr>';
$str = '';
var_dump(isset($str));
echo '<hr>';
$str = 0;
var_dump(isset($str));
?>
```
### 7、`empty` 判斷變量是否為空
```php
<?php
var_dump(empty($str));
echo '<hr>';
$str = null;
var_dump(empty($str));
echo '<hr>';
$str = 'null';
var_dump(empty($str));
echo '<hr>';
$str = '';
var_dump(empty($str));
echo '<hr>';
$str = 0;
var_dump(empty($str));
?>
```
### 8、`unset` 釋放變量
```php
<?php
$str = '歐陽克';
unset($str);
var_dump($str);
echo '<hr>';
?>
```
---
## :-: 七、`php` 運算符
**運算符**|**描述**
---|---
`+`|相加
`-`|相減
`*`|相乘
`/`|相除
`%`|取余
`++`|加加
`--`|減減
`.`|連接、用在字符串
> 示例:
```php
$int1 = 100;
$int2 = 30;
var_dump( $int1 + $int2 );
echo '<hr>';
var_dump( $int1 - $int2 );
echo '<hr>';
var_dump( $int1 * $int2 );
echo '<hr>';
var_dump( $int1 / $int2 );
echo '<hr>';
var_dump( $int1 % $int2 );
echo '<hr>';
var_dump( $int1++ );
echo '<hr>';
var_dump( $int1-- );
echo '<hr>';
var_dump( ++$int2 );
echo '<hr>';
var_dump( --$int2 );
echo '<hr>';
var_dump( $int1 . $int2 );
echo '<hr>';
$var1 = '歐陽克';
$var2 = '18歲';
var_dump( $var1 . $var2 );
//兩個變量連接,沒問題
//一個變量和字符串,沒問題
//一個變量連接整型,必須在整型前面增加空格
```
---
## :-: 八、`php` 賦值運算符
**運算符**|**描述**
---|---
`=`|賦值
`+=`|先加,后賦值
`-=`|先減,后賦值
`*=`|先乘,后賦值
`/=`|先除,后賦值
`%=`|先取余,后賦值
`.=`|先連接,后賦值
> 示例:
```php
$int = 100;
var_dump($int);
echo '<hr>';
$int += 30;
var_dump( $int );
echo '<hr>';
$int = $int + 30;
var_dump( $int );
echo '<hr>';
$int -= 30;
var_dump( $int );
echo '<hr>';
$int *= 30;
var_dump( $int );
echo '<hr>';
$int /= 30;
var_dump( $int );
echo '<hr>';
$int %= 30;
var_dump( $int );
echo '<hr>';
$int .= 30;
var_dump( $int );
```
---
### 九、`php` 比較運算符
**運算符**|**描述**
---|---
`>`|大于
`>=`|大于等于
`<`|小于
`<=`|小于等于
`==`|等于
`!=`|不等于
`===`|恒等于
`!==`|恒不等
### 1、`>` 大于
```php
var_dump( 100 > 100 );
echo '<hr>';
var_dump( 100 > 90 );
echo '<hr>';
var_dump( 100 > 110 );
echo '<hr>';
var_dump( true > false );
echo '<hr>';
var_dump( 'php' > 'php' );
echo '<hr>';
```
### 2、`>=` 大于等于
```php
var_dump( 100 >= 100 );
echo '<hr>';
var_dump( 100 >= 90 );
echo '<hr>';
var_dump( 100 >= 110 );
echo '<hr>';
var_dump( true >= false );
echo '<hr>';
var_dump( 'php' >= 'php' );
echo '<hr>';
```
### 3、`<` 小于
```php
var_dump( 100 < 100 );
echo '<hr>';
var_dump( 100 < 90 );
echo '<hr>';
var_dump( 100 < 110 );
echo '<hr>';
var_dump( true < false );
echo '<hr>';
var_dump( 'php' < 'php' );
echo '<hr>';
```
### 4、`<=` 小于等于
```php
var_dump( 100 <= 100);
echo '<hr>';
var_dump( 100 <= 90);
echo '<hr>';
var_dump( 100 <= 110);
echo '<hr>';
var_dump( true <= false);
echo '<hr>';
var_dump( 'php' <= 'php' );
echo '<hr>';
```
### 5、`==` 等于
```php
var_dump( 100 == 100 );
echo '<hr>';
var_dump( true == 'true' );
echo '<hr>';
```
### 6、`!=` 不等于
```php
var_dump( 100 != 100 );
echo '<hr>';
var_dump( true != 'true' );
echo '<hr>';
```
### 7、`===` 恒等于
```php
var_dump( 100 === 100 );
echo '<hr>';
var_dump( true === 'true' );
echo '<hr>';
```
#### 8、`!==` 恒不等
```php
var_dump( 100 !== 100 );
echo '<hr>';
var_dump( true !== 'true' );
echo '<hr>';
```
---
## :-: 十、`php` 邏輯運算符
**運算符**|**描述**
---|---
`and` 和 `&&`|與
`or` 和 `||`|或
`xor`|異或
`!`|非
### 1、`and` 和 `&&`
```php
//兩個真,返回真。有一個是假,返回假。
var_dump( 100 && 30 );
echo '<hr/>';
var_dump( true && true );
echo '<hr/>';
var_dump( true and false );
echo '<hr/>';
var_dump( false and false );
echo '<hr/>';
```
### 2、`or` 和 `||`
```php
//一個真,返回真。兩個真,返回真。兩個假,返回假。
var_dump( 100 || 30 );
echo '<hr/>';
var_dump( true || true );
echo '<hr/>';
var_dump( true or false );
echo '<hr/>';
var_dump( false or false );
echo '<hr/>';
```
### 3、`xor`
```php
//一個真、返回真。兩個真,返回假。兩個假,也返回假。
var_dump( 0 xor 1 );
echo '<hr/>';
var_dump( true xor true );
echo '<hr/>';
var_dump( true xor false );
echo '<hr/>';
var_dump( false xor false );
echo '<hr/>';
```
### 4、`!`
```php
//一個真、返回真。兩個真,返回假。兩個假,也返回假。
var_dump( !0);
echo '<hr/>';
var_dump( !true );
echo '<hr/>';
var_dump( !false );
echo '<hr/>';
var_dump( !1 );
echo '<hr/>';
```
- 序言
- PHP基礎
- 認識PHP
- 環境安裝
- PHP語法
- 流程控制
- PHP數組
- PHP函數
- PHP類與對象
- PHP命名空間
- PHP7新特性
- PHP方法庫
- PHP交互
- 前后端交互
- 項目常規開發流程
- MySQL數據庫
- 會話控制
- Ajax分頁技術
- 細說函數
- 類與對象
- 對象進階
- 類與對象進階
- OOP面向對象
- 設計模式
- 路由與模板引擎
- 異常類
- PHP爬蟲
- PHP抓取函數
- PHP匹配函數
- 正則表達式
- PHP字符串函數
- 抓取實戰
- PHP接口
- 了解接口
- PHP插件
- PHPSpreadsheet
- ThinkPHP6
- 安裝
- 架構
- 數據庫
- 數據庫操作
- 視圖
- 模版
- 模型
- 雜項
- 命令行
- 交互
- 微信小程序
- 介紹
- 配置
- 組件
- 交互
- API
- 其他知識
- 百度小程序
- 介紹
- 配置
- 組件
- 交互
- API
- 其他知識
- Linux
- 服務器上線流程
- 安裝svn
- MySQL
- 認識MySQL
- MySQL函數
- 雜項
- composer依賴管理工具