# if條件判斷規范
對于控制結構的書寫遵循以下規則:
# 1. 在if條件判斷中,如果用到判斷條件例如:
* * *
錯誤示范:竟可能的不要這么寫,萬一少些了一個 = 號 就變成賦值了
~~~
if ($errorNum == 6) {
//邏輯
}
~~~
正確示范:
~~~
if (6 == $errorNum) {
//邏輯
}
~~~
因為如果你在等式中漏了一個等號,語法檢查器會為你報錯,可以很快找到錯誤位置,這樣的寫法要多注意;
# 2. 不要不可思議的數字
* * *
一個在源代碼中使用了的赤裸裸的數字是不可思議的數字,因為包括作者,在三個月內,沒人它的含義。例如:
~~~
if?(22?==?$foo)?{
????start_thermo_nuclear_war();?
}
else?if?(19?==?$foo){
????refund_lotso_money();?
}
else{
????cry_cause_im_lost();?
}
~~~
~~~
$goodsList = $Goods->with('specGoodsPrice')->where($where)->where(function ($query) use ($prom_type, $prom_id) {
if(in_array($prom_type,[3,6])){
//優惠促銷
if ($prom_id) {
$query->where(['prom_id' => $prom_id, 'prom_type' => $prom_type])->whereor('prom_id', 0);
} else {
$query->where('prom_type', 0);
}
}else if($prom_type == 7){
//
$query->where([ 'prom_type' => $prom_type])->whereor('prom_type', 0);
}else if($prom_type == 8){
//砍價
if ($prom_id) {
$query->where(['prom_id' => $prom_id, 'prom_type' => $prom_type])->whereor('prom_id', 0);
} else {
$query->where('prom_type', 0);
}
}else if(in_array($prom_type,[1,2])){
//搶購,團購
$query->where('prom_type','in' ,[0,$prom_type])->where('prom_type',0);
}else{
$query->where('prom_type',0);
}
})->order('goods_id DESC')->limit($Page->firstRow . ',' . $Page->listRows)->select();
~~~
## 你應該用define()來給你想表示某樣東西的數值一個真正的名字,而不是采用赤裸裸的數字,例如:
## 在我們項目應該在模型里面定義靜態變量,
~~~
/**
* @package Home\Model
*/
class Order extends Model
{
static $TEAM_TYPE = 1;
static $GROUP_TYPE = 2;
}
$goodsList = $Goods->with('specGoodsPrice')->where($where)->where(function ($query) use ($prom_type, $prom_id) {
if(in_array($prom_type,[ Order::$TEAM_TYPE , Order::$GROUP_TYPE])){
//優惠促銷
if ($prom_id) {
$query->where(['prom_id' => $prom_id, 'prom_type' => $prom_type])->whereor('prom_id', 0);
} else {
$query->where('prom_type', 0);
}
}else if($prom_type == Order::$TEAM_TYPE){
//
$query->where([ 'prom_type' => $prom_type])->whereor('prom_type', 0);
}
})->order('goods_id DESC')->limit($Page->firstRow . ',' . $Page->listRows)->select();
~~~
~~~
define("PRESIDENT_WENT_CRAZY",?"22");
define("WE_GOOFED",?"19");
define("THEY_DIDNT_PAY",?"16");
?
if?(?PRESIDENT_WENT_CRAZY?==?$foo)?{?
????start_thermo_nuclear_war();?
}
else?if?(WE_GOOFED?==?$foo)?{
????refund_lotso_money();?
}
else?if?(THEY_DIDNT_PAY?==?$foo)
{
infinite_loop();?
}
else{
????happy_days_i_know_why_im_here();?
}
~~~
- PHP
- php 簡單語法
- php 語法
- PHP書寫歸范總結
- 代碼縮進
- 變量賦值時候
- if條件判斷
- 避免嵌入式賦值
- 函數和方法的注釋
- php 開發常見問題總結
- 1、查找兩個經緯度之間的距離
- 2、PHP常量詳解:define和const的區別
- 3、常見面試題及特殊情況
- mysql
- MySQL 介紹
- MySQL 及 SQL 注入
- mysql常見問題
- MySQL數據類型
- MySQL where語句
- MySQL alter 命令
- MySQL 索引
- MySQL 復制表
- MySQL 處理重復數據
- redis
- redis介紹
- redis數據類型(共5種 )
- redis常見問題及使用場景
- redis事務
- Redis 分區
- Linux
- Linux介紹
- Linux 系統目錄結構
- Linux 文件與目錄管理
- shell
- Shell 教程介紹
- html+css+js
- 優秀技術文章
- 技術鏈接
- go語言
- go開發規范及注意事項
- go簡單語法
- go開發技術總結
- 博客
- 小程序
- 1、頁面跳轉