php学习

php基础语法

一 php程序

1.php标记

开始标记<?php 和结束标记 ?>中间写 PHP 代码

当解析一个文件时,PHP 会寻找起始和结束标记,也就是告诉php 开始和停止解析二者之间的代码。此种解析方式使得PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略

2.php代码

echo ----->可以输出一个或多个字符串,用逗号(,)隔开

print ----->只允许输出一个字符串

<?php
    echo 111,222;
    print 345;
?>

3.语句结束符 ;

4.注释

// ----->单行注释

/*

*/ ------>多行注释

二 php变量

1、声明变量

<?php
    $a='ooii';
    echo $a;
?>

2.赋值运算符

=

3.变量命名规则

  • 开头不能用数字

  • 中间不能有空格

    <?php $a_new='ooii'; //下划线命名法 echo $a_new; $a_New='ooi'; //小驼峰命名法 echo $a_New; $A_New='oo'; //大驼峰命名法 echo $A_New; ?>

php标量类型介绍

一 php标量数据类型

echo 输出数据值,开发时使用

var_dump 可以打印数据类型和值,测试时使用

1.布尔型

布尔型通常用于条件判断

<?php
    $x = true;
    var_dump($x);
    echo '<hr>';
    $y = false;
    var_dump($y);
?>

2.整型

  • 整数不能包含逗号或空格

  • 整数是没有小数点的

  • 整数可以是正数或负数

  • 整型可以用三种格式来指定: 十进制、十六进制、八进制

    <?php
    $number = 0;
    var_dump($number);
    echo '<hr>';
    $number = 67;
    var_dump($number);
    echo '<hr>';
    $number = -322;
    var_dump($number);
    ?>
    

3.浮点型

带小数部分的数字

<?php
    $number = 10.03;
    var_dump($number);
    echo '<hr>';
    $number = -88.23;
    var_dump($number);
?>

4 字符串

  • 引号内的数据可以是单引号或双引号

  • 字符串不用引号会报错

  • 数字、浮点型、布尔型,用引号也属于字符串

    <?php $str ='我是欧阳'; var_dump($str); echo '
    '; $str = 'My name is ou yang'; var_dump($str); ?>

一个汉字三个长度

ps

这里说明一下单引号和双引号的区别

简而言之 就是双引号可以解析变量

在单引号的情况下,我们在第二个str变量中引入第一个str变量

发现显示出的还是$str

<?php
    $str ='我是欧阳';
    var_dump($str);
    echo '<hr>';
    $str = '$str My name is ou yang';
    var_dump($str);
?>

但是我们如果使用双引号来包裹第二个变量

<?php
    $str ='我是欧阳';
    var_dump($str);
    echo '<hr>';
    $str = "$str My name is ou yang";
    var_dump($str);
?>

就可以发现第一个变量被引入了

二 php复合数据类型

三 php特殊数据类型

<?php
    $null;
    var_dump($null);
    echo  '<hr>';
    $null ='';
    var_dump($null);
    echo  '<hr>';
    $null = null;
    var_dump($null);
?>

php数组类型

一 数组

1.空数组

<?php
    $arr = array();
    var_dump($arr);
    $arr = [];
    var_dump($arr);
?>

2.索引数组

<?php
    $arr = array(
        'ooii',
        'ww',
        'y'

    );
    var_dump($arr);
    echo '<hr>';
    $arr = [
        'ooii',
        'ww',
        'y'
    ];
    var_dump($arr);
?>

输出键为0的值

<?php
    $arr = array(
        'ooii',
        'ww',
        'y'

    );
    var_dump($arr[0]);
?>

3.关联数组

自定义键

<?php
    $arr = array(
        'qwe'=>'ooii',  //ooii这一值的键定义为qwe
        'ww',
        'y'

    );
    var_dump($arr['qwe']);   
?>

输出一整个数组

print_r

<?php
    $arr = array(
        'qwe'=>'ooii',
        'ww',
        'y'

    );
    print_r($arr);
?>

看下print_r与var_dump的区别

第一行是print_r

第二行是var_dump

4.连接符

.

可以连接多个数据

    echo 'wy is:' . $arr[qwe];

二.php多维数组

1.二维数组

<?php
    $arr = array(
        array(
            'ooii'
        ),
        array(
            'ww'
        ),
        array(
            'yy'
        ),
    );
    print_r($arr);
    echo '<hr>';
    var_dump($arr);
?>

2.三维数组

<?php
    $arr = [
        [
            'name' => '欧阳',
            'school' => 'PHP中文网',
            'gongfu' => [
                'PHP',
                '小程序',
                'layui',
                'Thinkphp'
            ]
        ],
        [
            'name' => '西内',
            'school' => 'PHP中文网',
            'gongfu' => [
                'PHP',
                'Thinkphp',
                'Laravel',
                '实战项目'
            ]
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网',
            'gongfu' => [
                'HTML',
                'PHP',
                'layui',
                'Thinkphp'
            ]
        ]
    ];
    print_r($arr)
?>

输出某一键值

    echo $arr[0]['name'];

三.php 数组循环

1.foreach

<?php
    $arr = array(
        'ouyang' => '欧阳',
        'ximen' => '西门',
        'miejue' => '强灭绝'
    );

    foreach ($arr as $v) {  //as 是给予 $v是循环每次value的值
        echo $v;
        echo '<hr>';
    }
?>

2.key value的循环

我们可以通过num循环来体现一下

<?php
    $arr = array(
        'ouyang' => '欧阳',
        'ximen' => '西门',
        'miejue' => '强灭绝'
    );
    $num=1;
    foreach ($arr as $v) {  
        echo $v;
        $num=$num+1;
        echo $num;
        echo '<hr>';
    }
?>

那么刚才循环的是值 我们看看能不能循环key

这里需要=>

<?php
    $arr = array(
        'ouyang' => '欧阳',
        'ximen' => '西门',
        'miejue' => '强灭绝'
    );
    foreach ($arr as $k =>$v) {
        echo $k.$v;
        echo '<hr>';
    }
?>

3.循环多维数组

<?php
    $arr = [
        [
            'name' => '强欧阳',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '西门',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网'
        ]
    ];

    foreach ($arr as $k => $v) {
        print_r($v);
        echo '<hr>';
    }
?>
<?php
    $arr = [
        [
            'name' => '强欧阳',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '西门',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网'
        ]
    ];

    foreach ($arr as $k => $v) {
        echo $v['name'].$v['school'];
        echo '<hr>';
    }
?>

这里可以看出循环先从外层数组开始

<?php
    $arr = [
        [
            'name' => '强欧阳',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '西门',
            'school' => 'PHP中文网'
        ],
        [
            'name' => '强灭绝',
            'school' => 'PHP中文网'
        ]
    ];

    foreach ($arr as $k => $v) {
        foreach($v as $vv){
            echo $vv;
            echo '<hr>';
        }
    }
?>

php条件判断

1、三元运算符 ? :

若str变量有值 则返回 i am ooii

否则error

    $str='ooii';
    echo $str ? 'i am ooii' : 'error';
    $str='';
    echo $str ? 'i am ooii' : 'error';

2.if

<?php
    $wy='ooii';
    if($wy){
        echo 'i am ooii';
    }

如果wy变量有值,则返回i am ooii

3. if else

<?php
    $wy='';
    if($wy){
        echo 'i am ooii';
    }else{
        echo 'error';
    }

wy变量为空,则返回 error

4. if elseif else

wyy有值,则返回yes

<?php
    $wy='';
    $wyy='ooii';
    if($wy){
        echo 'i am ooii';
    }elseif($wyy){
        echo 'yes';
    }else{
        echo'error';
    }

如果wy wyy的值都为空,则返回error

<?php
    $wy='';
    $wyy='';
    if($wy){
        echo 'i am ooii';
    }elseif($wyy){
        echo 'yes';
    }else{
        echo'error';
    }

5.switch default

进行条件匹配

<?php
    $wy='ooii';
    switch($wy){
        case 'ooii':
            echo 'i am ooii';
            break;
        case 'oi':
            echo 'error';
            break;
        default:
            echo $wy;
    }

6.php8新特性 match

这里php版本需要到8

<?php
    $wy = 'aaa';
    switch ($wy) {
        case 'ooii':
            echo 'i am ooii';
            break;
        case 'oi':
            echo 'error';
            break;
        default:
            echo $wy;
    }

    echo match ($wy) {
        'aaa' => '啊啊啊',
        'bbb' => '不不不',
        'ccc' => '踩踩踩'
    };
?>

与swtich区别

match 是表达式 要增加结束符号

match 可以返回给变量 或者直接输出

match 只支持单行表达式

match 匹配进行严格比较

php函数

一 函数介绍

1.函数判断

<?php
if($wy){
    echo 'ooii';
}
if(isset($wy)){
    echo 'ooi';
}
if(empty($wy)){
    echo 'oo';
}
?>

2.什么是函数

  • 函数是一段可以重复执行的代码片断
  • 函数是实现代码复用的重要手段。
  • 函数是现代编程语言最重要的基本单元
  • 函数永远是编程的核心工作

3.函数分类

根据函数的提供者(编写者),分为二类

  • 系统函数: 编程语言开发者事先写好提供给开发者直接使用的
  • 自定义函数: 用户根据自身需求,对系统功能进行扩展

二 系统函数

PHP 的真正力量来自它的函数:它拥有超过 1000个内建的函数

1.string字符串函数

<?php
//将宇符串转化为小写
$ouyang ='OUYANGKE';
echo strtolower($ouyang);
echo '<hr>';
//将字符串转化为大写
$miejue ='miejueshitai';
echo strtoupper($miejue);
echo '<hr>';
//将字符串分割为数组
$php='欧阳克,灭绝师太,西门大官人,天';
print_r(explode(',',$php));
echo '<hr>';
//将字符串进行md5加密
$ximen ='西门大官人';
echo md5($ximen);
?>

2.array数组函数

<?php
$arr=[
    '欧阳克',
    '灭绝师太',
    '西门大官人',
    '天'
];
//数组中元素的数量
echo count($arr);
echo '<hr>';
// 把数组元素组合为字符串
echo implode(',',$arr);
echo '<hr>';
//数组中是否存在指定的值
echo in_array('天',$arr);
echo '<hr>';
//删除数组中的最后一个元素
array_pop($arr);
print_r($arr);
?>

三 php自定义函数

1.函数的自定义语法

//创建函数
function fun_name(参数列表)
{
//函数体:由一条或多条语句组成,可以为空
}
  • 必须使用关键字: function 声明
  • 函数名称不区分大小写,多个单词推荐使用下划线连接

2.调用函数

<?php
//创建函数
function fun_name()
{
    return'我是wy';
}

// 调用函数
echo fun_name();
?>

3.函数参数

<?php
//创建函数
function fun_name($name)
{
    return'我是:'.$name ;
}

//调用函数
echo fun_name('ooii');
?>
  • 方法参数可以有默认值,有默认值可以不传值

  • 方法必须以返回的方式,不要用echo 输出的方式

    <?php // 创建函数 function fun_name($name, $school = 'PHP中文网') { return '我是:' . $name . ' from ' . $school; }

    // 调用函数
    echo fun_name('ooii', '过去');
    ?>

4.作用域

  • php中,只有函数作用域和全局作用域
  • 所有函数作用域中的变量,外部不可见
  • 全局作用域声明变量,在函数中是可见的

运算符

一.php运算符

<?php
var_dump(120+80);
echo '<hr>';
var_dump(120-80);
echo '<hr>';
var_dump( 120*80);
echo '<hr>';
var_dump(120/80);
echo '<hr>';
var_dump( 120%80);
echo '<hr>';
$num = 120;
var_dump( $num++);
echo '<hr>';
var_dump( $num--);
echo '<hr>';
var_dump( ++$num);
echo '<hr>';
var_dump(--$num);
echo '<hr>';
var_dump(120.80);
echo '<hr>';
$var1 ='PHP讲师:';
$var2 ='欧阳';
var_dump( $var1 .$var2);
  • 两个变量连接,没问题
  • 一个变量和字符串,没问题
  • 一个变量连接整型,必须在整型前加个空格

二 php赋值运算符

<?php
$int = 120;
var_dump($int);
echo '<hr>';
$int += 30;
var_dump( $int);
echo '<hr>';
$int = $int + 30;
var_dump($int);
echo '<hr>';
$int -= 30;
var_dump( $int);
echo '<hr>';
$int *= 30;
var_dump( $int);
echo '<hr>';
$int /= 30;
var_dump( $int);
echo '<hr>';
$int %= 30;
var_dump( $int);
echo '<hr>';
$int .= 30;
var_dump( $int);

三 php比较运算符

<?php
var_dump( 100 >100 );
echo '<hr>';
var_dump(100>90);
echo '<hr>';
var_dump( 100 >110 );
echo '<hr>';
var_dump( true >false );
echo '<hr>';
var_dump('php'>'php');
echo '<hr>';

1.==等于

<?php
var_dump( 100== 100 );
echo '<hr>';
var_dump( true =='true');
echo '<hr>';

这是不判断类型的 只判断值

2.===恒等于

<?php
var_dump( 100=== 100 );
echo '<hr>';
var_dump( true ==='true');
echo '<hr>';

判断类型 判断值

四 php逻辑运算符

1. and和&&

两个真 返回真

一个假 返回假

<?php
var_dump( 100 && 30);
echo '<hr/>';
var_dump( true && true );
echo '<hr/>';
var_dump( true and false );
echo '<hr/>';
var_dump( false and false );
echo '<hr/>';

2.or和||

一个真,返回真。

两个真,返回真。

两个假,返回假

<?php
var_dump( 120||80 );
echo '<hr/>';
var_dump( true||true );
echo '<hr/>';
var_dump( true or false );
echo '<hr/>';
var_dump( false or false );
echo '<hr/>';

3.xor

一个真、返回真。

两个真,返回假。

两个假,也返回假

<?php
var_dump(0 xor 1);
echo '<hr/>';
var_dump( true xor true );
echo '<hr/>';
var_dump( true xor false );
echo '<hr/>';
var_dump(false xor false );
echo '<hr/>';

4 !取反

一个真、返回真。

两个真,返回假。

两个假,也返回假。

循环

1.while

<?php
$int = 1;
while($int<10 ){
    echo $int;
    echo '<hr/>';
    $int ++;
}

2.do while

<?php
$int = 1;
while($int<10 ){
    echo $int;
    echo '<hr/>';
    $int ++;
}

$int = 1;
do{
    $int ++;
    echo $int;
    echo '<hr/>';
}while($int<10);

while与do while的区别

我们把条件改成int<1 显而易见条件不满足

但是结果有2

我们看下是谁执行的

<?php
$int = 1;
while($int<1 ){
    echo $int;
    echo '<hr/>';
    $int ++;
    echo 'while执行';
}

$int = 1;
do{
    $int ++;
    echo $int;
    echo '<hr/>';
    echo 'do while执行';
}while($int<1);

因为while先执行

do while先判断

3.for

<?php
for( $int=1;$int<10; $int++){
    echo $int;
    echo '<hr>';
}

4。continue

  • 结束当前循环,进入下次循环

  • 在循环语句中使用 while for

    <?php for( $int=1; $int<10;$int++){ if($int == 5){ //结束当前循环,进入下次循环 continue; } var_dump($int); echo '
    '; }

5、break

  • 结束循环

  • 在循环语句中使用 while forswitch

  • 可以跳出多层循环

    <?php
    for( $int=1;$int<10;$int++){
        if($int == 5){
            //结束当前循环,进入下次循环
            break;
        }
        var_dump($int);
        echo '<hr>';
    }
    

类与对象

1、创建类

<?php
# 创建类
class Teacher{

}
# 调用类(实例化)
$ouyang = new Teacher();
$miejue = new Teacher();
$ximen = new Teacher();

2、复合数据类型

<?php
# 创建类
class Teacher{

}
# 调用类(实例化)
$ouyang = new Teacher();
$miejue = new Teacher();
$ximen = new Teacher();
var_dump($ouyang);
var_dump($miejue);
var_dump($ximen);

3、对象

var_dump($ouyang == $miejue);
echo '<hr/>';
var_dump($miejue == $ximen);
echo '<hr/>';
var_dump($ouyang == $ximen);

4、成员变量

  • 成员变量,也叫: 类属性

    <?php # 创建类 class Teacher{ public $name = 'aa'; public $school = 'PHP中文网'; } $ouyang = new Teacher(); echo $ouyang->name; echo '
    '; echo $ouyang->school;

5、成员方法

<?php
class Teacher{
    public $name = 'ooii';
    public $school = 'PHP中文网';
    
    public function fun1(){
      echo '姓名:ooii,学校:PHP中文网<hr/>';
    }
    public function fun2(){
      return '姓名:ooii,学校:PHP中文网<hr/>';
    }
    public function fun3(){
      // 在类中使用伪变量: "$this" 引用当前类的成员变量
      return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
    }
    public function fun4(){
      // 在类中使用伪变量: "$this" 引用当前类的成员方法
      return $this->fun3();
    }
  }
  // 类实例化
  $yangmi = new Teacher();
  $yangmi->fun1();
  echo $yangmi->fun2();
  echo $yangmi->fun3();
  echo $yangmi->fun4();
  • 类里成员有两种:属性(变量)和行为(方法)

4、魔术方法

构造方法

<?php
class Teacher{
    public $name;
    public $school;
    // 构造方法
    public function __construct($name, $school){
      $this->name = $name;
      $this->school = $school;
    }
    public function fun1(){
      echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun2(){
      return '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun3(){
      // 在类中使用伪变量: "$this" 引用当前类的成员变量
      return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
    }
    public function fun4(){
      // 在类中使用伪变量: "$this" 引用当前类的成员方法
      return $this->fun3();
    }
  }
  // 实例化
  $obj = new Teacher('aa','bb');
  echo $obj->fun4();

析构方法

<?php
class Teacher{
    public $name;
    public $school;
    // 构造方法
    public function __construct($name, $school){
      $this->name = $name;
      $this->school = $school;
    }
    public function fun1(){
      echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun2(){
      return '姓名:灭绝师太,学校:PHP中文网<hr/>';
    }
    public function fun3(){
      // 在类中使用伪变量: "$this" 引用当前类的成员变量
      return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
    }
    public function fun4(){
      // 在类中使用伪变量: "$this" 引用当前类的成员方法
      return $this->fun3();
    }
    // 析构方法
    public function __destruct(){
      echo '类执行完毕,要关闭了';
    }
  }
  // 实例化
  $obj = new Teacher('aa','bb');
  echo $obj->fun3();

类的三大特性

  • 继承:可以让某个类型的对象获得另一个类型的对象的属性和方法
  • 封装:指将客观事物抽象成类,每个类对自身的数据和方法实行保护
  • 多态:指同一个实体同时具有多种形式,它主要体现在类的继承体系

1.继承

  • extends 关键词继承父类

    <?php
    class Teacher{
        public $name;
        public $school;
        // 构造方法
        public function __construct($name, $school){
          $this->name = $name;
          $this->school = $school;
        }
        public function fun1(){
          echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        public function fun2(){
          return '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        public function fun3(){
          // 在类中使用伪变量: "$this" 引用当前类的成员变量
          return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
        }
        public function fun4(){
          // 在类中使用伪变量: "$this" 引用当前类的成员方法
          return $this->fun3();
        }
        // 析构方法
        public function __destruct(){
          echo '类执行完毕,要关闭了';
        }
      }
    // 子类代码复用
    class PHPTeacher extends Teacher{
    
    }
      // 实例化
      $obj = new PHPTeacher('aa','bb');
      echo $obj->fun3();
    

2、封装

  • public 默认的, 关键词定义类内、类外、子类都可见

  • protected 关键词定义类内、子类可见,类外不可见

  • private 关键词定义类内可见, 子类、类外不可见

    <?php class Teacher{ protected $name; private $school; // 构造方法 public function __construct($name, $school){ $this->name = $name; $this->school = $school; } protected function fun1(){ echo '姓名:灭绝师太,学校:PHP中文网
    '; } private function fun2(){ return '姓名:灭绝师太,学校:PHP中文网
    '; } public function fun3(){ // 在类中使用伪变量: "$this" 引用当前类的成员变量 return '姓名:'.$this->name.',学校:'.$this->school.'
    '; } public function fun4(){ // 在类中使用伪变量: "$this" 引用当前类的成员方法 return $this->fun3(); } // 析构方法 public function __destruct(){ echo '类执行完毕,要关闭了'; } } // 子类代码复用 class PHPTeacher extends Teacher{ public function fun5(){ $this->fun1(); } public function fun6(){ $this->fun2(); } public function fun7(){ return $this->name; } public function fun8(){ return $this->school; } } // 实例化 $obj = new Teacher('西门大官人','PHP中文网'); echo $obj->fun1(); echo $obj->fun2(); echo $obj->name; echo $obj->school; $obj2 = new PHPTeacher('西门大官人','PHP中文网'); echo $obj2->fun1(); echo $obj2->fun2(); echo $obj2->fun5(); echo $obj2->fun6(); echo $obj2->fun7(); echo $obj2->fun8();

3、多态

  • 实现多态的前提是要先继承,在重写父类方法

    <?php
    class Teacher{
        protected $name;
        private $school;
        // 构造方法
        public function __construct($name, $school){
          $this->name = $name;
          $this->school = $school;
        }
        protected function fun1(){
          echo '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        private function fun2(){
          return '姓名:灭绝师太,学校:PHP中文网<hr/>';
        }
        public function fun3(){
          // 在类中使用伪变量: "$this" 引用当前类的成员变量
          return '姓名:'.$this->name.',学校:'.$this->school.'<hr/>';
        }
        public function fun4(){
          // 在类中使用伪变量: "$this" 引用当前类的成员方法
          return $this->fun3();
        }
        // 析构方法
        public function __destruct(){
          echo '类执行完毕,要关闭了';
        }
      }
      // 子类代码复用
      class PHPTeacher extends Teacher{
        public function fun5(){
          $this->fun1();
        }
        public function fun6(){
          $this->fun2();
        }
        public function fun4(){
          return '我是重写的方法';
        }
      }
      $obj2 = new PHPTeacher('西门大官人','PHP中文网');
      echo $obj2->fun4();
    

命名空间

1、命名空间

  • 解决全局成员的命名冲突问题

    <?php
    function php(){
    
    }
    function php(){
    
    }
    

2、创建命名空间

  • 命名空间使用 "namespace" 关键字声明

    <?php namespace one{ function php(){
      }
    

    }
    namespace two{
    function php(){

      }
    

    }

3、常量、函数、类

<?php
namespace one{
	const NAME = '灭绝师太';
	$name = '灭绝师太';
	function php(){

	}
	class phpcn{

	}
}
namespace two{
	const NAME = '西门大官人';
	$name = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
namespace three{
	echo $name;
	echo NAME;
	php();
	new phpcn();
}

4、子命名空间

就跟windows目录一样\

namespace{
	const NAME = '灭绝师太';
	function php(){

	}
	class phpcn{

	}
}
namespace one{
	const NAME = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
namespace one\two{
	const NAME = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
namespace one\two\three{
	const NAME = '西门大官人';
	function php(){

	}
	class phpcn{
		
	}
}
相关推荐
小叶学C++8 分钟前
【C++】类与对象(下)
java·开发语言·c++
ac-er88889 分钟前
PHP“===”的意义
开发语言·php
wxin_VXbishe21 分钟前
springboot合肥师范学院实习实训管理系统-计算机毕业设计源码31290
java·spring boot·python·spring·servlet·django·php
jk_10128 分钟前
MATLAB中decomposition函数用法
开发语言·算法·matlab
weixin_4640780729 分钟前
C#串口温度读取
开发语言·c#
无敌の星仔31 分钟前
一个月学会Java 第2天 认识类与对象
java·开发语言
小小不董36 分钟前
《Linux从小白到高手》理论篇:深入理解Linux的网络管理
linux·运维·服务器·数据库·php·dba
豆豆1 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
计算机学姐1 小时前
基于SpringBoot+Vue的在线投票系统
java·vue.js·spring boot·后端·学习·intellij-idea·mybatis
彤银浦1 小时前
python学习记录7
python·学习