一.函数
1.动态传值
- 关键字 …$args
- … 是收集所有参数
- 代码:
function a(...$args){
$ar = 0;
foreach($args as $v){
$ar += $v; // 输出 结果 所有数字相加 450
}
return $ar;
}
echo a(10,20,30,40,50,60,70,80,90);
2.作用域
- 方法外的变量不能在方法里使用
- 方法里的变量不能在方法外使用
- global 关键词 可以把变量转为全局变量
- 方法可以使用 global 把外面的变量变为全局的,在方法内使用,但是不能把方法里的变量转变给方法外使用
- 代码
$a = 100;
function aa(){
global $a; // 把方法外的变量转变为全局变量
return $a;
}
echo aa(); // 输出变量100
- 代码
function aa(){
$a = 100;
global $a; // 不能把方法里的变量转变为全局变量
return $a;
}
echo aa(); // 输出空白,没有值
3.常用的函数
3.1 加密函数
- md5 是加密函数,把字符串加密成32位的加密密码
- md5就是你需要加密的密文是大于32位的,它也会把它加密成32位
- md5不能加密数组或者多个值
- md5 没有反转,是不可逆的散列
- 布尔值也可以加密
- md5是可以设置自动加密代码的,但是设置了就尽量不要更改,不然客户会无法登录
例
echo md5(123456 . 'abcd'); //abcd就是设置的自动加密
sha1 也是加密函数,它是会把你的字符串加密成40位的密文
例 md5:’echo md5(‘小明’); // 输出密文4cf350692a4a3bb54d13daacfe8c683b’
- 例 sha1:’echo sha1(‘小明’); //输出密文 6ca6738e54b83abef20aca22a2507003bf266193’
3.2 数组函数
- count();是计算数组或者对象中的属性个数
- array_unique 移除重复的数组
- array_merge 合并数组
- 在函数里使用函数也是可以的
- 自定义函数里也可以使用系统函数和自定义函数
- implode 把数组转换为字符串
- 在数据拿到之后保存到数据库中,数据库只能储存字符串,数组没有办法保存到数据库中,只能转换为字符串
- explode 把字符串分割成数据.但是要有分隔符
& 地址引用符 跟着变量改变
例 count()
代码
$a = [
'xiaom',
'zhaos',
'xjaskl',
];
echo count($a); // 输出 3 说明有3个属性
例 array_unique()
$a = [
'xiaoming',
'xiaom',
'xiaomi',
'xiaom',
'xiaoming',
'xiaomi',
];
print_r(array_unique($a));
- 输出:
- 例 array_merge()
$a = [
'小赵',
'小李',
];
$a1 = [
'小花',
'小美',
];
print_r(array_merge($a, $a1));
输出
例 函数里用函数,
$a = [
'xiaoming',
'小花',
'小美',
'xiaom',
'xiaomi',
'xiaom',
'xiaoming',
'xiaomi',
];
$a1 = [
'小花',
'小美',
'xiaomi',
'xiaom',
'xiaoming',
'xiaomi',
];
print_r(array_unique(array_merge($a,$a1)));
输出
例 implode()
$a = [
'小花',
'小明',
'小赵',
'小美',
];
echo implode('--',$a);
输出
例 explode()
$a = '小赵--小美--小明--小花';
print_r(explode('--',$a));
输出
例 & 符
$a = '小明';
$b = &$a;
echo $a;
echo '<hr>';
echo $b;
echo '<hr>';
$a = '小红';
echo $a;
echo '<hr>';
echo $b;
- 输出 没有 &符的
- 输出 输入了 &符
二.三元
- ? : 两个符号表示
- 只要变量有值:字符串,数字,浮点数,true 就执行第一条语句 ?符号后的语句 ,没有值就执行第二条语句 :符号后的语句
- ‘’ , null ,false,这几个是没有值的类型
例
$sy = '';
echo $sy ? '第一条语句' : '第二条语句';
输出:
$sy = ''; //没有值就输出"第二条语句"
输出:
$sy = '1'; //有值就输出"第一条语句"
三.if关键词
- if(){} 是代码块 有()和{}
- {}是为了写代码块的,任何代码都可以写,foreach也能写到里面,if也可以写到里面,function也可以写到里面
- ()里面是条件
- else{} 没有() 所以else只是没有值的那个语句
- if 和 三元 需要多条语句的时候用if ,一条语句的时候用三元
if 分开写就是多个if,要想只有一个if,就用 if(){}elseif(){}elseif(){}elseif(){}else{}这样 写多少个都可以
例
$a =10;
$aa = 100;
if($a){
echo '正常';
}elseif($aa){
echo '异常';
}else{
echo '异常';
}
- 输出
四.if条件
- ()只能判断有没有值,太局限
- 通过条件里增加了符号,就可以把这个判断更人性化
- 符号有:
- 1.= 一个是赋值
- 2.== 两个是等于
- 3.!== 不等于
- 4.> 大于
- 5.>= 大于等于
- 6.< 小于
- 7.<= 小于等于
- 8.=== 恒等于
9.!== 恒不等
例
$a = 100;
if($a === 100){
echo '出去玩';
}elseif($a > 91){
echo '吃大餐';
}elseif($a >= 80){
echo '成绩优秀';
}elseif($a >= 60){
echo '成绩及格';
}elseif($a < 60){
echo '成绩不及格';
}
- 输出:根据变量
$a = 10;
- 赋的值改变输出内容