Browse Source

php学习:函数、字符串、数组、设置日期时间

master
kuangweijian 3 years ago
parent
commit
932ca10fda
  1. 47
      03函数/04匿名函数.php
  2. 68
      03函数/05回调函数.php
  3. 24
      03函数/06可变函数.php
  4. 11
      03函数/07递归函数.php
  5. 34
      04字符串/00字符串操作.php
  6. 10
      04字符串/01单双引号.php
  7. 11
      04字符串/02字符串拼接.php
  8. 3
      04字符串/03字符串查找.php
  9. 11
      04字符串/04截取字符串.php
  10. 64
      05数组/01数组.php
  11. 20
      05数组/02冒泡排序.php
  12. 17
      06设置时间日期/01设置时区.php
  13. 20
      07面向对象/01.php

47
03函数/04匿名函数.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);
?>

68
03函数/05回调函数.php

@ -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>';
?>

24
03函数/06可变函数.php

@ -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>');
?>

11
03函数/07递归函数.php

@ -0,0 +1,11 @@
<?php
function func($num)
{
if ($num==1) {
return 1;
}
return $num * func($num-1); //递归函数
}
echo func(15);
?>

34
04字符串/00字符串操作.php

@ -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>';
?>

10
04字符串/01单双引号.php

@ -0,0 +1,10 @@
<?php
//如果变量后边还有字符串的话,就需要将变量与后面的字符串使用空格分开,或者使用大括号{ }将变量包裹起来
$a='hello';
$str1="$a是你好<br>";
$str2="{$a}是你好<br>";
echo $str1;
echo $str2;
?>

11
04字符串/02字符串拼接.php

@ -0,0 +1,11 @@
<?php
//字符串拼接
$a='hello';
$b='world';
$c='php';
$str=$a.$b;
echo $str;
//
?>

3
04字符串/03字符串查找.php

@ -0,0 +1,3 @@
<?php
?>

11
04字符串/04截取字符串.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>';
?>

64
05数组/01数组.php

@ -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>';
?>

20
05数组/02冒泡排序.php

@ -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);
?>

17
06设置时间日期/01设置时区.php

@ -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>';
}
?>

20
07面向对象/01.php

@ -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{
}
}
?>
Loading…
Cancel
Save