// ! 二,动态传值语法 --------------------------------------- ...$xxx变量
// 2、动态的传值,数量不受限制
// ... 收集所有参数
// function jia(...$args){
// print_r($args);
// $ar = 0;
// foreach ($args as $v){
// $ar += $v;
// }
// return $ar;
// }
// 把后面没有对应位置的输出出来,没有占位的全部拿到
// echo jia (10,20,30,40,50,60,70,80);
// echo "<hr>";
// 3.作用域
// ! 三,function方法里的局部要获取全局,在里面增加 -------------------------- global $xxx变量
// $a = 10;
// function zhen(){
// $a = 10; // 方法里的变量,只能在方法里使用
// return $a;
// }
// echo $a;
// 1.方法外的变量,不能在方法里使用
// 2.方法里的变量,不能在方法外使用
// $a = 10;
// function zhen(){
// $a = 10; // 方法里的变量,返回方法外的变量
// return $a;
// }
// echo zhen()
// global关键词,可以把变量变为全局
// $a = 10;
// function zhen(){
// global $a; // global关键词,可以把变量变为全局
// return $a;
// }
// echo zhen();
// 我们写项目时候,有一些方法,是专门对本项目的,里面有一些内容,功能,可以在多个方法里都用一样的配置
// 4.常用函数
//! 四,MD5函数加密,不能加密数组----------------------------------MD5(...)
// sha1也是一个加密函数
// strlen返回字符串长度
// 1.加密 MD5() 加密函数
// echo md5('jiami');
// f3313e36c611150119f5d04ff1225b3e
// MD5加密,是把字符串加密成32位加密码
// 不能加密数组
// md5能不能解密,没有反转,不可逆的散列
// echo md5(1);
// echo '<hr>';
// echo md5(2);
// echo '<hr>';
// echo md5(3);
// echo '<hr>';
// echo md5(4);
// echo '<hr>';
// echo md5(5);
// echo '<hr>';
// echo md5(6);
// echo '<hr>';
// echo md5(01);
// echo '<hr>';
// echo md5('哈哈哈');
// echo '<hr>';
// 所以网站建议你们,不要把密码设置的过于简单
// echo MD5(12345 . 'phpcn');
// //设置了,就不能更改了
// echo "<hr>";
// // 不要一会儿又改成phpcom
// echo MD5(12345 . 'phpcom');
// echo "<hr>";
// echo sha1(12345 . 'phpcn');
// 2.数组函数
//! 四、2.计算数组或对象中的属性个数---------------------------------count(...)
// count 计算数组或对象中的属性个数
// $arr = [
// 'ouyangke',
// 'miejue',
// 'ximen',
// 'zhulaoshi',
// [
// 'php',
// 'html',
// 'css'
// ]
// ];
// echo count($arr);
//! unset 删除赋值函数 /删除数组--------------------------------- unset($xxx[0])
// $arr = [
// 'ouyangke',
// 'miejue',
// 'ximen',
// 'zhulaoshi',
// 'ouyangke',
// 'miejue',
// 'ximen',
// 'zhulaoshi',
// ];
// // unset($arr[0]);
// print_r($arr);
//! array_unique --------------------------------------array_unique()移除重复数组
// print_r(array_unique($arr));
// $arr1 = [
// '欧阳克',
// '灭绝师太',
// '西门大官人',
// '灭绝师太',
// ];
// $arr2 = [
// '朱老师',
// '西门大官人',
// '西门大官人',
// '灭绝师太',
// ];
// $arr1[2] = $arr2[0];
// $arr1[3] = $arr2[1];
// foreach($arr2 as $v){
// $arr1[] = $v;
// }
// print_r($arr1)
//! array_merge--------------------------------------array_merge() 合并数组
// print_r(array_merge($arr1,$arr2));
//! ---------------------------------------array_unique(array_merge()) 合并数组并删除重复
// 自定义函数里,也可以使用系统函数和自定义函数
// print_r(array_unique(array_merge($arr1,$arr2)));
//! implode 把数组转换为字符串----------------------------------implode()
// 在数据拿到以后,保存到数据库中,数据库中只能保存字符串,数组没法保存到数据库中
// $arr1 = [
// '欧阳克',
// '灭绝师太',
// '西门大官人',
// '灭绝师太',
// ];
// echo implode('---:::::',$arr1);
// $str = '欧阳克---:::::灭绝师太---:::::西门大官人---:::::灭绝师太';
// explode 把字符串反转为数组--------------------------------- print_r(explode()),但是必须有分割的符号,要统一
// print_r(explode('---:::::',$str));
//! & 地址引用符--------------------------------------------------& 地址引用符,&$xxx
// $a = '欧阳克';
// $b = &$a;
// echo $a;
// echo '<hr>';
// echo $b;
// echo '<hr>';
// $a = '灭绝师太';
// echo $a;
// echo '<hr>';
// echo $b;
//! 五、判断
// 1、三元
// . ? :
//! 三元 ? : -------------------------------------------------- echo $yw ? '正常出发' : '去谈项目';
// $yw = '';
// echo $yw ? '正常触发':'去谈项目';
// 只要$yw 变量 有值, 字符串、数字、浮点型、true
// 有值的话,就执行 第二个语句 '正常出发'
// 没有值的时候,会执行 第三个语句 '去谈项目'
// '' 0 null false
// 现在我们只学到 有值和没值的区别。
// echo $yw ? '正常出发' : '去谈项目';
// 问前面的数据,是否有值,有值得话执行 : 前面的语句,没有的话,执行 : 后面的语句
// 2、if 关键词
//! if(){} 代码块,()和{}, {}是为了写代码块的。任何代码都可以,foreach也能写到里面,if也可以写到里面,function
// $yw1 = '10万';
// $yw2 = '100万';
// if($yw){
// echo '正常出发';
// }
// else 没有(), ()里是条件,所以else只是 没有值的那语句
// if($yw){
// echo '正常出发';
// }else{
// echo '去谈项目';
// }
// if 和三元 ,哪个好。。 需要写多条语句的时候,用if
// else if(){} 只要有if,就有(){},跟js一样。但是有一点不一样
// 空格的原因
// if($yw1){
// echo '正常出发';
// }
// if($yw2){
// echo '去谈项目';
// }
// if($yw2){
// echo '去谈项目';
// }
// if 分开写,就是多个if, 要想一个if,就if(){}else if(){}else(){}
// if(){}else if(){}elseif(){}else(){}
// 写多少个if、elseif 多可以
// 3、条件
// () 里 只能判断有没有值,太局限性
//! = 赋值
//! == 等于 =
// 经过 条件里增加了 符号==,就可以把这个判断 更人性化
// $women = '';
// if($women == '不方便'){
// echo '多喝热水';
// }else if($women == '方便开心'){
// echo '看电影';
// }else if($women == '方便不开心'){
// echo '哄她,带她去买衣服';
// }else{
// echo '你是单身狗';
// }
//!. != 不等于
//! >
//! >=
//! <
//! <=
// 女孩子方便, 判断 不方便的时候出去玩
// $women = '不方便';
// if($women != '方便'){
// echo '出去玩';
// }else{
// echo '在家待着';
// }
// $women = '老妈';
// if($women != '女朋友'){
// echo '出去玩,包夜';
// }else{
// echo '在家待着';
// }
// $women = 18;
// if($women > 17){ //判断要准确,18不大于18
// echo '做我女朋友吧';
// }else{
// echo '你未成年';
// }
// $women = 18;
// if($women >= 18){ // 属于2个条件,大于或等于
// echo '做我女朋友吧';
// }else{
// echo '你未成年';
// }
// $women = 16;
// if($women < 18){
// echo '你未成年';
// }else{
// echo '做我女朋友吧';
// }
//! === 恒等于,单位也要一样。整数、字符串、浮点型
// 当你们的单位不一样,他们还能匹配到。
// 类型和值,都必须匹配上,才能用===
// $women = 18;
// 2个38,都是整数,所以能匹配到
// if($women === '38'){
// echo '做我女朋友吧';
// }else{
// echo '我们不合适';
// }
// .!== 恒不等
// if($women !== 18){
// echo '做我女朋友吧';
// }else{
// echo '我们不合适';
// }
// $fen = 50;
// if($fen == 100){
// echo '满分';
// }else if($fen >= 80){
// echo '优秀';
// }else if($fen >= 60){
// echo '及格';
// }else{
// echo '不及格';
// }