## **花括號的意義**
1. 將變量變成一個整體
2. 第一種`${變量名}變量名`;
3. 第二種`{$變量名變量名}`;
## **php程序中可加入set\_time\_limit(seconds)設置最長執行時間**
```
例如**set_time_limit(0)**表示不超時
```
## \*\*0755->即用戶具有讀/寫/執行權限,組用戶和其它用戶具有讀寫權限;\*\*\*\*\*\***0644->即用戶具有讀寫權限,組用戶和其它用戶具有只讀權限;一般賦予目錄0755權限,文件0644權限。**
## **子類繼承父類的**
方法的調用:$this->方法名();如果子類中有該方法則調用的是子類中的方法,若沒有則是調用父類中的
parent::則始終調用的是父類中的方法。
## list() 給變量批量賦值
list() 函數用于在一次操作中給一組變量賦值。
\*\*注釋:\*\*該函數只用于數字索引的數組。
**php調試模式**
```
ini_set('display_errors',1);
ini_set('log_errors',1);
error_reporting(E_ALL);
```
**計算金額數值**
```
/**
* 貨幣格式簡單封裝
* @param $var
* @param string $decimals
* @return string
*/
function num_format($var, $decimals = '2')
{
return number_format($var, $decimals, '.', '');
}
```
### **
#### parse\_str() 函數的使用,獲取url參數
~~~
$str = "did=12345dg&version=1.0";
parse_str($str,$arr);
var_dump($arr);die;
結果為:
array(2) {
["did"]=>
string(7) "12345dg"
["version"]=>
string(3) "1.0"
}
~~~
### http\_build\_query()函數的使用,拼接url參數
~~~
$data = array(
'did'=> '12345dg',
'version'=> '1.0'
);
$str = http_build_query($data);
echo $str; // did=12345dg&version=1.0 將數組以&拼接
~~~
## hasOne 和belongsTO區別
```
hasOne 正向關聯,belongsTo 反向關聯。
hasOne外鍵是關聯表的主鍵ID,belongsTo外鍵是當前表的外鍵
簡單的講就是,沒有太大的區別,只是在邏輯上出現的思想的偏差(邏輯的合理性)。
belongsTo:可以理解為屬于
hasOne:可以理解為擁有
首先,我們創建兩張表。
user表 字段 id name password字段
user_address表 id user_id city字段
不難看出,user_address是基于user擴展出來的表。我們可以說,user擁有user_address的外鍵,user_address的外鍵屬于user。
User模型中關聯user_address表的時候使用hasOne
UserAddress模型中關聯user表的時候使用belongsTo
可以這樣去理解:
我(User)擁有(hasOne)一個它(user_address),我(user_address)屬于(belongsTo)它(User)
```
##
## 數組按某個數組元素值進行排序
~~~
$a = [
["name"=>'peny', "age"=>29],
["name"=>'raj', "age"=>22],
["name"=>'sheldon',"age"=>30],
];
$age = array_column($a, 'age');
array_multisort($age, SORT_DESC, $a);
~~~