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