php的大小寫敏感問題整理

2021-07-08 15:42:44 字數 1955 閱讀 6936

**:

php對大小寫敏感問題的處理比較亂,寫**時可能偶爾出問題,所以這裡總結一下。 

但我不是鼓勵大家去用這些規則。 推薦大家始終堅持「大小寫敏感」,遵循統一的**規範。 

一、大小寫敏感

1. 變數名區分大小寫 

所有變數均區分大小寫,包括普通變數以以及$_get, $_post, $_request, $_cookie, $_session, $globals, $_server, $_files, $_env等; 

複製**

**如下:

<?php 

$abc = 'abcd'; 

echo $abc; //輸出 'abcd' 

echo $abc; //無輸出 

echo $abc; //無輸出 

2. 常量名預設區分大小寫,通常都寫為大寫 

(但沒找到能改變這個預設的配置項,求解) 

複製**

**如下:

1 <?php 

define("abc","hello world"); 

echo abc; //輸出 hello world 

echo abc; //輸出 abc 

3. php.ini配置項指令區分大小寫 

如 file_uploads = 1 不能寫成 file_uploads = 1 

二、大小寫不敏感 

4. 函式名、方法名、類名 不區分大小寫,但推薦使用與定義時相同的名字 

複製**

**如下:

<?php 

function show() 

show(); //輸出 hello world 推薦寫法 

show(); //輸出 hello world 

複製**

**如下:

<?php 

class cls  } 

cls::func(); //輸出hello world 

5. 魔術常量不區分大小寫,推薦大寫 

包括:__line__、__file__、__dir__、__function__、__class__、__method__、__namespace__。

複製**

**如下:

<?php 

echo __line__; //輸出 2 

echo __line__; //輸出 3 

6. null、true、false不區分大小寫 

複製**

**如下:

<?php 

$a = null; 

$b = null; 

$c = true; 

$d = true; 

$e = false; 

$f = false; 

var_dump($a == $b); //輸出 boolean true 

var_dump($c == $d); //輸出 boolean true 

var_dump($e == $f); //輸出 boolean true 

7.型別強制轉換,不區分大小寫,包括: 

* (int),(integer) – 轉換成整型 

* (bool),(boolean) – 轉換成布林型 

* (float),(double),(real) – 轉換成浮點型 

* (string) – 轉換成字串 

* (array) – 轉換成陣列 

* (object) – 轉換成物件 

複製**

**如下:

<?php 

$a=1; 

var_dump($a); //輸出 int 1 

$b=(string)$a; 

var_dump($b); //輸出string '1' (length=1) 

$c=(string)$a; 

var_dump($c); //輸出string '1' (length=1) 

php大小寫敏感問題

或許是因為平時編碼比較規範的原因,沒有在意,突然發現php對變數大小寫是敏感的,還是應當始終堅持 大小寫敏感 遵循統一的 規範。一 大小寫敏感 1 變數名區分大小寫 所有變數均區分大小寫,包括普通變數以以及 get,post,request,cookie,session,globals,server...

php 類方法 大小寫敏感 PHP大小寫敏感規則

php對大小寫敏感問題的處理比較亂,大家一定要注意。推薦大家始終堅持 大小寫敏感 這裡面需要注意的是類和函式不區分大小寫。但即使你疏忽了,在除錯時直譯器也會抓住這個錯誤的。一 大小寫敏感 1.變數名區分大小寫 所有變數均區分大小寫,包括普通變數以 及 get,post,request,cookie,...

ionic大小寫敏感問題

昨天遇到乙個問題,公司的老司機幫我一起找了兩三個小時,終於找到什麼原因。問題描述 專案中使用的是ui router,在跳轉中使用 state.go 在某些手機上沒有問題,在公司測試的手機上,跳轉失效。問題的原因 進過苦苦搜尋,發現導致這個問題的原因竟然是因為我的檔名中有個字母是小寫,但是在路由中是大...