## **花括号的意义**
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);
~~~