1. 跨域`header('Access-Control-Allow-Origin:*');`
2. 表單提交時可用一張圖片代替提交按鈕
```
<input type="image" src="image.gif" name="sub" />
```
點擊圖片某處后上傳表單,并附帶參數`sub_x`、`sub_y`來表示用戶點擊的坐標
3. 定義常量的兩種方法
```
define("CONSTANT",?"Hello?world.");
const?CONSTANT?\=?'Hello?World';
```
和使用define()來定義常量相反的是,使用*const*關鍵字定義常量必須處于最頂端的作用區域,因為用此方法是在編譯時定義的。這就意味著不能在函數內,循環內以及*if*語句之內用*const*來定義常量
4. 錯誤控制運算符`@`可以忽略掉錯誤;如果激活了`track_errors`特性,表達式所產生的任何錯誤信息都被存放在變量`$php_errormsg`中
*foreach*不支持用“@”來抑制錯誤信息的能力
5. 若for根據數組長度循環,則把count(array)賦予變量而不是不停調用count
```
while?(list(,?$value)?=?each($arr))?{
????echo?"Value:?$value\\n";
}
```
6. 避免遞歸函數/方法調用超過 100-200 層,因為可能會使堆棧崩潰從而使當前腳本終止。 無限遞歸可視為編程錯誤。
7. 自動加載
```
<?php
spl_autoload_register(function?($class_name)?{
????require_once?$class_name?.?'.php';
});
$obj??=?new?MyClass1();
$obj2?=?new?MyClass2();
```
8. php啟動fastcgi服務`php-cgi -b 127.0.0.1:9000`
9. php中可以使用SplEnum來實現枚舉
10. 攜帶emoji導出excel,用offlice打開會直接報錯,可以這樣處理
```
preg_replace_callback('/./u',function(array $match){
return strlen($match[0]) >= 4 ? '' : $match[0];
},$str)
```
11. ```$a = 1; $a = $a++; echo $a;```結果為1
原因:自增運算符++優先級比賦值運算符=的優先級高,`$a = $a++`在計算機實現過程如下:
```
$temp = $a;
$a = $temp + 1;
return $temp;
```故相當于$a等于返回的$temp;最終結果是1;
- php
- 安全
- php7
- 特性
- 編譯安裝
- 源碼整體框架
- 基本變量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制臺
- eloquent
- tinker
- composer
- 加密解密
- 小知識點
- 數組
- string
- 代碼簡潔之道
- 編譯
- 語法糖
- lumen
- smarty
- 錯題集
- 算法及數據結構
- 線性表結構
- 插入排序
- 冒泡排序
- 數據庫
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 備忘
- js
- nodejs
- vue
- css
- electron
- vue
- 語法糖
- colorui使用筆記
- 微信小程序
- 操作系統
- windows
- bat
- 快捷鍵
- linux
- sed
- 問題解決
- git
- docker
- docker-compose
- 正則表達式
- ps
- lua
- 協議相關
- 問題思索
- Golang
- 測試
- 讀取和寫入json配置文件
- 類
- 接口
- mod
- gin
- fyne
- 禪道二次開發
- 服務
- apache
- 漏洞配置
- http server優化
- nginx
- 安裝
- 面試題庫
- freeswitch