kuangweijian
3 years ago
13 changed files with 340 additions and 0 deletions
-
4703函数/04匿名函数.php
-
6803函数/05回调函数.php
-
2403函数/06可变函数.php
-
1103函数/07递归函数.php
-
3404字符串/00字符串操作.php
-
1004字符串/01单双引号.php
-
1104字符串/02字符串拼接.php
-
304字符串/03字符串查找.php
-
1104字符串/04截取字符串.php
-
6405数组/01数组.php
-
2005数组/02冒泡排序.php
-
1706设置时间日期/01设置时区.php
-
2007面向对象/01.php
@ -0,0 +1,47 @@ |
|||
<?php |
|||
//定义匿名函数
|
|||
$a = function(){ |
|||
echo 'hello'.'<br>'; |
|||
// return 'hello';
|
|||
}; |
|||
|
|||
$a(); |
|||
|
|||
//查看变量内容
|
|||
var_dump(($a)); |
|||
|
|||
|
|||
//闭包=匿名函数
|
|||
//函数里面的函数
|
|||
|
|||
function func(){ |
|||
//定义局部变量
|
|||
$b='world'; |
|||
|
|||
$innerFunc = function(){ |
|||
//函数内部的函数
|
|||
|
|||
//调用函数func的局部变量
|
|||
echo $b.'<br>'; |
|||
}; |
|||
|
|||
//调用匿名函数
|
|||
$innerFunc(); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
func(); |
|||
|
|||
// echo $a().'<br>';
|
|||
|
|||
// //匿名函数作为参数,回调函数
|
|||
// $arr=[1,2,3,4];
|
|||
// $ret=array_map(function ($num){
|
|||
// return $num*$num;
|
|||
// }, $arr);
|
|||
|
|||
// echo '<pre>';
|
|||
// print_r($ret);
|
|||
?>
|
@ -0,0 +1,68 @@ |
|||
<?php |
|||
function math($opt_name,$m,$n) |
|||
{ |
|||
echo "this is a math opt '$opt_name'".'<br>'; |
|||
|
|||
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.'<br>'; |
|||
|
|||
$ret=math('subtraction',6,4); |
|||
echo $ret.'<br>'; |
|||
|
|||
/* |
|||
* add是回调函数,add作为参数传入math()中, |
|||
* 这样就可以把add(),和subtraction()公有的部分一起放入math()中,例如 echo "this is a math opt '$opt_name'".'<br>'; |
|||
* 如果math作为库函数,我们是不能修改的。 |
|||
* 如果不适用回调函数,那么代码将会这样 |
|||
|
|||
function add($m,$n)//回调函数
|
|||
{ |
|||
echo "this is a math opt 'add'".'<br>'; |
|||
return $m+$n; |
|||
} |
|||
|
|||
function subtraction($m,$n) |
|||
{ |
|||
echo "this is a math opt 'subtraction'".'<br>'; |
|||
return $m-$n; |
|||
} |
|||
|
|||
$ret=add(1,2); |
|||
echo $ret.'<br>'; |
|||
|
|||
$ret=subtraction(6,4); |
|||
echo $ret.'<br>'; |
|||
*/ |
|||
|
|||
|
|||
//call_user_func()
|
|||
function func_a($funcName,$m,$n) |
|||
{ |
|||
return call_user_func($funcName, $m, $n); |
|||
} |
|||
|
|||
$ret=func_a('add',10,5); |
|||
echo $ret.'<br>'; |
|||
|
|||
//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.'<br>'; |
|||
?>
|
@ -0,0 +1,24 @@ |
|||
<?php |
|||
function func_a(){ |
|||
echo "func_a<br>"; |
|||
} |
|||
|
|||
function func_b($str='') |
|||
{ |
|||
echo $str.'<bt>'; |
|||
} |
|||
|
|||
function func_c($string) |
|||
{ |
|||
echo $string; |
|||
} |
|||
|
|||
$funcname='func_a'; |
|||
$funcname(); //变量()就是可变函数,会执行与funcname命名相同的函数执行;
|
|||
|
|||
$funcname='func_b'; |
|||
$funcname('this is func_b<br>'); |
|||
|
|||
$funcname='func_c'; |
|||
$funcname('this is func_c <br>'); |
|||
?>
|
@ -0,0 +1,11 @@ |
|||
<?php |
|||
function func($num) |
|||
{ |
|||
if ($num==1) { |
|||
return 1; |
|||
} |
|||
return $num * func($num-1); //递归函数
|
|||
} |
|||
|
|||
echo func(15); |
|||
?>
|
@ -0,0 +1,34 @@ |
|||
<?php |
|||
|
|||
//去除字符串首尾的空白字符(或者其他字符)
|
|||
$str=' hello world '; |
|||
var_dump(trim($str)); |
|||
|
|||
echo '<br>'; |
|||
|
|||
//获取字符串长度
|
|||
$str='hello world'; |
|||
echo $str.' len:'.strlen($str).'<br>'; |
|||
|
|||
//获取中文字符串的长度
|
|||
$str='你好世界'; |
|||
$len=mb_strlen($str); |
|||
echo $str.' len:'.$len.'<br>'; |
|||
|
|||
//自动转义字符串,常用于数据库
|
|||
$sql="select * from talbe1 where 'name'='邝伟键'"; |
|||
$str=addslashes($sql); |
|||
echo $str.'<br>'; // select * from talbe1 where \'name\'=\'邝伟键\'
|
|||
|
|||
//还原转义字符
|
|||
$str=stripslashes($str); |
|||
echo $str.'<br>'; // select * from talbe1 where 'name'='邝伟键'
|
|||
|
|||
//分割字符串并转为数组
|
|||
$str='hello,world,php'; |
|||
$arr=explode(',',$str); |
|||
echo '<pre>'; |
|||
print_r($arr); |
|||
echo '<br>'; |
|||
|
|||
?>
|
@ -0,0 +1,10 @@ |
|||
<?php |
|||
//如果变量后边还有字符串的话,就需要将变量与后面的字符串使用空格分开,或者使用大括号{ }将变量包裹起来
|
|||
$a='hello'; |
|||
|
|||
$str1="$a是你好<br>"; |
|||
$str2="{$a}是你好<br>"; |
|||
|
|||
echo $str1; |
|||
echo $str2; |
|||
?>
|
@ -0,0 +1,11 @@ |
|||
<?php |
|||
//字符串拼接
|
|||
$a='hello'; |
|||
$b='world'; |
|||
$c='php'; |
|||
|
|||
$str=$a.$b; |
|||
echo $str; |
|||
|
|||
//
|
|||
?>
|
@ -0,0 +1,3 @@ |
|||
<?php |
|||
|
|||
?>
|
@ -0,0 +1,11 @@ |
|||
<?php |
|||
//截取字符串agcdef中的cde
|
|||
$str='agcdef'; |
|||
$ret=substr($str,2,3); |
|||
echo $ret.'<br>'; |
|||
|
|||
//截取中文字符
|
|||
$str='一二三四五六七八九十'; |
|||
$ret=mb_substr($str, 2, 4); |
|||
echo $ret.'<br>'; |
|||
?>
|
@ -0,0 +1,64 @@ |
|||
<?php |
|||
//定义索引数组
|
|||
$arr = array('a', 'b','c','hello'); |
|||
echo '<pre>'; |
|||
var_dump($arr); |
|||
|
|||
//定义二维数组
|
|||
$arr = array( |
|||
array('name'=>'邝','chinese'=>'90'), |
|||
array('name'=>'伟','chinese'=>'65') |
|||
); |
|||
echo '<pre>'; |
|||
var_dump($arr); |
|||
echo $arr[0]['name'].'的分数是'.$arr[0]['chinese']; |
|||
|
|||
echo '<br>'; |
|||
|
|||
//统计数组元素数量
|
|||
$arr = array('a', 'b','c','hello'); |
|||
$len = count($arr); |
|||
$len2 = sizeof($arr); |
|||
echo '$arr'.'的长度是'.$len.'<br>'; |
|||
echo '$arr'.'的长度是'.$len2.'<br>'; |
|||
|
|||
//返回放弃数组指针指向的元素
|
|||
$arr = array('a', 'b','c','hello'); |
|||
$curVal = current($arr); |
|||
echo '当前的元素是'.$curVal.'<br>'; |
|||
|
|||
//获取当前的元素的键名
|
|||
$arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); |
|||
$curKey = key($arr); |
|||
echo '当前的键名是'.$curKey.'<br>'; |
|||
|
|||
//判断数组的键名或索引是否存在
|
|||
$arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); |
|||
if (array_key_exists('chinese',$arr)) { |
|||
echo '键名存在'.'<br>'; |
|||
}else{ |
|||
echo '键名不存在'.'<br>'; |
|||
} |
|||
|
|||
|
|||
//判断数组中某个值是否存在
|
|||
$arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); |
|||
//判断'东莞'是否存在
|
|||
$needle='东莞'; |
|||
$ret=in_array($needle,$arr,true); |
|||
if ($ret==TRUE) { |
|||
echo "数组中包含$needle".'<br>'; |
|||
}else{ |
|||
echo "数组中不包含$needle".'<br>'; |
|||
} |
|||
|
|||
//数组合成一个字符串
|
|||
$arr=array('name'=>'邝','chinese'=>'90','city'=>'东莞'); |
|||
$str=implode($arr); |
|||
echo $str.'<br>'; |
|||
|
|||
//把数组中的值赋给一组变量
|
|||
$arr=array('邝','90','东莞'); |
|||
list($a,$b,$c) = $arr; |
|||
echo '$a = '.$a.'<br>'.'$b = '.$b.'<br>'.'$c = '.$c.'<br>'; |
|||
?>
|
@ -0,0 +1,20 @@ |
|||
<?php |
|||
$arr=array(54,7,6,32,45,80,62,211,583); |
|||
|
|||
for ($j=0; $j < count($arr) ; $j++){ |
|||
|
|||
for ($i=0; $i < count($arr) - 1 - $j; $i++) |
|||
{ |
|||
if($arr[$i] > $arr[$i+1]) |
|||
{ |
|||
$tmp = $arr[$i+1]; |
|||
$arr[$i+1] = $arr[$i]; |
|||
$arr[$i] = $tmp; |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
echo '<pre>'; |
|||
print_r($arr); |
|||
?>
|
@ -0,0 +1,17 @@ |
|||
<?php |
|||
//设置中国上海时区
|
|||
date_default_timezone_set('Asia/Shanghai'); |
|||
echo date('Y-m-d H:i:s',time()); |
|||
|
|||
//获取当前日期时间
|
|||
echo'<pre>'; |
|||
var_dump(getdate()); |
|||
|
|||
//检查日期时间是否有效
|
|||
$ret=checkdate(3,32,2022); |
|||
if ($ret==TRUE) { |
|||
echo '日期有效'.'<br>'; |
|||
}else{ |
|||
echo '日期无效'.'<br>'; |
|||
} |
|||
?>
|
@ -0,0 +1,20 @@ |
|||
<?php |
|||
class students |
|||
{ |
|||
var $name; |
|||
public $age; |
|||
private $sex; |
|||
public static $school; |
|||
public function Write(string $a, int $b):bool{ |
|||
|
|||
} |
|||
|
|||
protected static function Read(string $str):int { |
|||
|
|||
} |
|||
|
|||
function Listen(int $num):bool{ |
|||
|
|||
} |
|||
} |
|||
?>
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue