diff --git a/03函数/04匿名函数.php b/03函数/04匿名函数.php
new file mode 100644
index 0000000..1cd9f9c
--- /dev/null
+++ b/03函数/04匿名函数.php
@@ -0,0 +1,47 @@
+';
+ // return 'hello';
+ };
+
+ $a();
+
+ //查看变量内容
+ var_dump(($a));
+
+
+ //闭包=匿名函数
+ //函数里面的函数
+
+ function func(){
+ //定义局部变量
+ $b='world';
+
+ $innerFunc = function(){
+ //函数内部的函数
+
+ //调用函数func的局部变量
+ echo $b.'
';
+ };
+
+ //调用匿名函数
+ $innerFunc();
+
+ }
+
+
+
+ func();
+
+ // echo $a().'
';
+
+ // //匿名函数作为参数,回调函数
+ // $arr=[1,2,3,4];
+ // $ret=array_map(function ($num){
+ // return $num*$num;
+ // }, $arr);
+
+ // echo '
'; + // print_r($ret); +?> \ No newline at end of file diff --git a/03函数/05回调函数.php b/03函数/05回调函数.php new file mode 100644 index 0000000..cef453a --- /dev/null +++ b/03函数/05回调函数.php @@ -0,0 +1,68 @@ +'; + + return $opt_name($m,$n); + } + + function add($m,$n)//回调函数 + { + return $m+$n; + } + + function subtraction($m,$n) + { + return $m-$n; + } + + $ret=math('add',1,2); + echo $ret.'
'; + + $ret=math('subtraction',6,4); + echo $ret.'
'; + + /* + * add是回调函数,add作为参数传入math()中, + * 这样就可以把add(),和subtraction()公有的部分一起放入math()中,例如 echo "this is a math opt '$opt_name'".'
'; + * 如果math作为库函数,我们是不能修改的。 + * 如果不适用回调函数,那么代码将会这样 + + function add($m,$n)//回调函数 + { + echo "this is a math opt 'add'".'
'; + return $m+$n; + } + + function subtraction($m,$n) + { + echo "this is a math opt 'subtraction'".'
'; + return $m-$n; + } + + $ret=add(1,2); + echo $ret.'
'; + + $ret=subtraction(6,4); + echo $ret.'
'; + */ + + + //call_user_func() + function func_a($funcName,$m,$n) + { + return call_user_func($funcName, $m, $n); + } + + $ret=func_a('add',10,5); + echo $ret.'
'; + + //call_user_func_array() + function func_b($funcName,$m,$n) + { + return call_user_func_array($funcName, array($m,$n)); //以数组的形式接收回调函数的参数 + } + + $ret=func_b('add',2,100); + echo $ret.'
'; +?> \ No newline at end of file diff --git a/03函数/06可变函数.php b/03函数/06可变函数.php new file mode 100644 index 0000000..314ea6f --- /dev/null +++ b/03函数/06可变函数.php @@ -0,0 +1,24 @@ +"; + } + + function func_b($str='') + { + echo $str.''; + } + + function func_c($string) + { + echo $string; + } + + $funcname='func_a'; + $funcname(); //变量()就是可变函数,会执行与funcname命名相同的函数执行; + + $funcname='func_b'; + $funcname('this is func_b
'); + + $funcname='func_c'; + $funcname('this is func_c
'); +?> \ No newline at end of file diff --git a/03函数/07递归函数.php b/03函数/07递归函数.php new file mode 100644 index 0000000..43cef9a --- /dev/null +++ b/03函数/07递归函数.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/04字符串/00字符串操作.php b/04字符串/00字符串操作.php new file mode 100644 index 0000000..7679779 --- /dev/null +++ b/04字符串/00字符串操作.php @@ -0,0 +1,34 @@ +'; + + //获取字符串长度 + $str='hello world'; + echo $str.' len:'.strlen($str).'
'; + + //获取中文字符串的长度 + $str='你好世界'; + $len=mb_strlen($str); + echo $str.' len:'.$len.'
'; + + //自动转义字符串,常用于数据库 + $sql="select * from talbe1 where 'name'='邝伟键'"; + $str=addslashes($sql); + echo $str.'
'; // select * from talbe1 where \'name\'=\'邝伟键\' + + //还原转义字符 + $str=stripslashes($str); + echo $str.'
'; // select * from talbe1 where 'name'='邝伟键' + + //分割字符串并转为数组 + $str='hello,world,php'; + $arr=explode(',',$str); + echo ''; + print_r($arr); + echo '
'; + +?> \ No newline at end of file diff --git a/04字符串/01单双引号.php b/04字符串/01单双引号.php new file mode 100644 index 0000000..49fe14f --- /dev/null +++ b/04字符串/01单双引号.php @@ -0,0 +1,10 @@ +"; + $str2="{$a}是你好
"; + + echo $str1; + echo $str2; +?> \ No newline at end of file diff --git a/04字符串/02字符串拼接.php b/04字符串/02字符串拼接.php new file mode 100644 index 0000000..e9c8566 --- /dev/null +++ b/04字符串/02字符串拼接.php @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/04字符串/03字符串查找.php b/04字符串/03字符串查找.php new file mode 100644 index 0000000..69007d5 --- /dev/null +++ b/04字符串/03字符串查找.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/04字符串/04截取字符串.php b/04字符串/04截取字符串.php new file mode 100644 index 0000000..ef158fe --- /dev/null +++ b/04字符串/04截取字符串.php @@ -0,0 +1,11 @@ +'; + + //截取中文字符 + $str='一二三四五六七八九十'; + $ret=mb_substr($str, 2, 4); + echo $ret.'
'; +?> \ No newline at end of file diff --git a/05数组/01数组.php b/05数组/01数组.php new file mode 100644 index 0000000..ff31f35 --- /dev/null +++ b/05数组/01数组.php @@ -0,0 +1,64 @@ +'; + var_dump($arr); + + //定义二维数组 + $arr = array( + array('name'=>'邝','chinese'=>'90'), + array('name'=>'伟','chinese'=>'65') + ); + echo ''; + var_dump($arr); + echo $arr[0]['name'].'的分数是'.$arr[0]['chinese']; + + echo '
'; + + //统计数组元素数量 + $arr = array('a', 'b','c','hello'); + $len = count($arr); + $len2 = sizeof($arr); + echo '$arr'.'的长度是'.$len.'
'; + echo '$arr'.'的长度是'.$len2.'
'; + + //返回放弃数组指针指向的元素 + $arr = array('a', 'b','c','hello'); + $curVal = current($arr); + echo '当前的元素是'.$curVal.'
'; + + //获取当前的元素的键名 + $arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); + $curKey = key($arr); + echo '当前的键名是'.$curKey.'
'; + + //判断数组的键名或索引是否存在 + $arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); + if (array_key_exists('chinese',$arr)) { + echo '键名存在'.'
'; + }else{ + echo '键名不存在'.'
'; + } + + + //判断数组中某个值是否存在 + $arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); + //判断'东莞'是否存在 + $needle='东莞'; + $ret=in_array($needle,$arr,true); + if ($ret==TRUE) { + echo "数组中包含$needle".'
'; + }else{ + echo "数组中不包含$needle".'
'; + } + + //数组合成一个字符串 + $arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); + $str=implode($arr); + echo $str.'
'; + + //把数组中的值赋给一组变量 + $arr=array('邝','90','东莞'); + list($a,$b,$c) = $arr; + echo '$a = '.$a.'
'.'$b = '.$b.'
'.'$c = '.$c.'
'; +?> \ No newline at end of file diff --git a/05数组/02冒泡排序.php b/05数组/02冒泡排序.php new file mode 100644 index 0000000..5b95995 --- /dev/null +++ b/05数组/02冒泡排序.php @@ -0,0 +1,20 @@ + $arr[$i+1]) + { + $tmp = $arr[$i+1]; + $arr[$i+1] = $arr[$i]; + $arr[$i] = $tmp; + } + } + + } + + echo ''; + print_r($arr); +?> \ No newline at end of file diff --git a/06设置时间日期/01设置时区.php b/06设置时间日期/01设置时区.php new file mode 100644 index 0000000..618026b --- /dev/null +++ b/06设置时间日期/01设置时区.php @@ -0,0 +1,17 @@ +'; + var_dump(getdate()); + + //检查日期时间是否有效 + $ret=checkdate(3,32,2022); + if ($ret==TRUE) { + echo '日期有效'.'
'; + }else{ + echo '日期无效'.'
'; + } +?> \ No newline at end of file diff --git a/07面向对象/01.php b/07面向对象/01.php new file mode 100644 index 0000000..7f2c6ce --- /dev/null +++ b/07面向对象/01.php @@ -0,0 +1,20 @@ + \ No newline at end of file