PHP基础知识

发布于:2025-05-17 ⋅ 阅读:(14) ⋅ 点赞:(0)

【学习资料】
视频: https://www.bilibili.com/video/BV1Xh411S7G1?spm_id_from=333.788.videopod.episodes&vd_source=be26b82da70367069ab00d6db4f4ffc0
文档:https://www.runoob.com/php/php-tutorial.html

1,PHP是什么

PHP(Hypertext Preprocessor 超文本预处理器) 的简称,是一种被广泛应用的开源通用的服务器端脚本语言,适用于 Web 开发并可嵌入 HTML 中。

  • 通用:指跨平台,如:Windows、Linux、MacOS
  • 开源:意味着你可以轻松获取全部源代码,并进行定制或扩展
  • 免费:意味着你不必为PHP花一分钱,哪怕用在商业项目中
  • 服务器端:意味着你必须将它安装在服务器环境下才可以使用
  • 脚本语言:解释型语言,按编写顺序执行。是指不需要编译,直接由解释器/虚拟机执行的编程语言

2,PHP能做什么

  • 可以快速动态的生成HTML页面
  • 可以返回前端需要的各种类型的数据
  • 可以高效安全的处理表单数据
  • 可以安全的操作服务器上的文件
  • 可以控制与客户端的会话( Cookie/Session )
  • 可以对用户的行为进行授权控制
  • 可以高效安全的操作各种类型的数据库
  • 通过扩展,可以实现加密,压缩等其他功能
  • 可以提供接口数据,包括:小程序、APP、等其他语言

3,PHP程序执行流程

在这里插入图片描述

4,学习PHP需要什么基础

  • HTML:超文本标记语言
  • CSS:层叠样式标本
  • JavaScript:前端脚本编程语言

5,PHP基础语法

php文件默认扩展名是 .php;
php文件中可以包含html,css,JavaScript代码;

一,php程序

1,php标记

  • 开始标记<?php和结束标记?>中间写PHP代码;
  • 如果没有写结束标记,那么代表所有的代码都用php来解析;
<?php

?>

2,php代码

指令 描述
echo 可以输出一个或多个字符串,用逗号(,)隔开
print 只允许输出一个字符串
<?php
    echo 111,222;
    print 111;
?>
; // 语句结束符

3,php注释

<?php
    // 这是单行注释
    /*
        这是多行注释
        注释后,在浏览器和网页源码中,是看不到的。
    */
?>

二,php变量

1,声明变量

<?php
    $a = 'php中文网原创视频:《天龙八部》公益php培训系列课程汇总!';
    echo $a;
?>

2,变量命名规则

  • 开头不能用数字;
  • 中间不能有空格;
<?php
    // 下划线命名法
    $new_title = 'php中文网原创视频:《天龙八部》公益php培训系列课程汇总!';
    echo $new_title;
    echo '<hr>';
    // 小驼峰命名法
    $newTitle  = 'php中文网《玉女心经》公益PHP WEB培训系列课程汇总';
    echo $newTitle;
    echo '<hr>';
    // 大驼峰命名法
    $NewTitle  = 'html5中submit是按钮么';
    echo $NewTitle;
?>

三,php标量数据类型

在这里插入图片描述

echo 输出数据值,开发时使用;
var_dump 可以打印数据类型和值,测试时使用;

<?php
    $x = true;
    var_dump($x); // 类型 值 =》 bool(true)
    echo '<hr>';
    $y = false;
    var_dump($y); // 类型 值 =》 bool(false)
?>

字符串

  • 引号内的数据;
  • 可以是单引号或双引号;
  • 字符串不用引号会报错;
  • 数字,浮点数,布尔型,用引号也属于字符串;

双引号与单引号的区别?

  • 双引号可以解析变量,单引号不行;
<?php
   $name = "欧阳";
   echo "我的名字:$name"; // 我的名字:欧阳
   echo '我的名字:$name'; // 我的名字:$name
?>

四,php复合数据类型

在这里插入图片描述

五,php特殊数据类型

在这里插入图片描述

六,数组

数组Array:数组可以在一个变量中存储多个值;

1,创建数组
<?php
    // 第一种方式
   $arr = array();
    var_dump( $arr ); //array(0) { }
    
    // 第二种方式
    $arrs = [];
    var_dump( $arrs ); //array(0) { }
?>

2,创建索引数组
<?php
  $arr = array(
    '欧阳',
    '西门',
    '灭绝'
);
var_dump( $arr ); // array(3) { [0]=> string(6) "欧阳" [1]=> string(6) "西门" [2]=> string(6) "灭绝" }
?>

3,创建关联数组
<?php
 $arr = [
    'ouyang' => '欧阳',
    'ximen' => '西门',
    'miejue' => '灭绝'
];
var_dump( $arr ); // array(3) { ["ouyang"]=> string(6) "欧阳" ["ximen"]=> string(6) "西门" ["miejue"]=> string(6) "灭绝" }
?>

<?php
 $arr = [
    'ouyang' => '欧阳',
    'ximen' => '西门',
    'miejue' => '灭绝'
];
var_dump( $arr['miejue'] ); // string(6) "灭绝"
?>

print_r()打印数组

print_r() VS var_dump()

<?php
 $arr = [
    'ouyang' => '欧阳',
    'ximen' => '西门',
    'miejue' => '灭绝'
];
var_dump( $arr); // array(3) { ["ouyang"]=> string(6) "欧阳" ["ximen"]=> string(6) "西门" ["miejue"]=> string(6) "灭绝" }
echo "<hr>";
print_r($arr);// Array ( [ouyang] => 欧阳 [ximen] => 西门 [miejue] => 灭绝 )
?>

php 连接符 .

<?php
 $arr = [
    'ouyang' => '欧阳',
    'ximen' => '西门',
    'miejue' => '灭绝'
];
echo "我的名字是" . $arr['ouyang'] . ",他的名字是" . $arr['ximen']; // 我的名字是欧阳,他的名字是西门
?> 

php数组循环

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

    //    第一种方法
   foreach($arr as $v) {
    echo $v;
    echo '<hr>';
   }

    //    第二种方法
   foreach($arr as $k => $v) {
    echo $k . '----' . $v;
    echo '<hr>';
   }

在这里插入图片描述

七,PHP条件判断

  // 三元运算符
    <?php
        $ouyang = '123';
        echo $ouyang ? '我知道了' : '我不知道';  // 我知道了
    
    
    // if …… else
    <?php
    $miejue = "西门";
    $ouyang = '';
    
    if($ouyang) {
        echo "我是欧阳";
    }elseif($miejue) {
        echo "我是西门";
    }
    
    // switch语句
        $str = '欧阳11';
        switch($str) {
            case '欧阳':
                echo "我是欧阳";
                break;
            case "西门":
                echo "我是西门";
                break;
            case "灭绝":
                echo "我是灭绝";
                break;
            default:
                echo $str;
        }
        
    // match 语句
        $str = 'ximeng';
         echo match($str) { // 西门
            "ouyang" => "欧阳克",
            "ximeng" => "西门",
            "miejue" => "灭绝",
        };
        
    - Match是一个表达式,表示其结果可以存储在变量中或返回;
    - Match分支仅支持单行表达式,不需要中断,陈述;
    - Match匹配进行严格的比较;

八,PHP函数

1,什么是函数?

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

2,函数的分类

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

3,String字符串函数

在这里插入图片描述

4,Array数组函数

在这里插入图片描述

5,自定义函数

<?php
    function fun_name($num1,$num2=20,$num3=30) {
        return $num1 + $num2 + $num3;
    };

    echo fun_name(10); // 60
    
    // 函数的基本语法:
    - 必须使用关键字 function声明;
    - 函数名称不区分大小写,多个单词推荐使用下划线连接;

6,作用域

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

九,PHP运算符

在这里插入图片描述

十,循环

<?php
    $int = 1;
    // while循环
    while($int < 10) {
        echo $int;
        $int++;
    }

    // do……while循环
    do {
        echo $int;
        $int++;
    }while($int < 10);

    // for 循环
    for($int=1; $int<10; $int++) {
        echo $int;
    }

continue

  • 结束当前循环,进入下次循环
  • 在循环语句中使用 while,for

break

  • 结束循环
  • 在循环语句中使用 while,for,switch
  • 可以跳出多层循环

6,PDO操作数据库

  • PDO:php数据对象
  • PDO统一了PHP访问各种类型数据库的访问方式;

7,类与对象

<?php
    // 创建类
    class Teacher {
        // 成员变量:类属性
        public $name = '灭绝师太';

        // 成员方法
        public function fun1() {
            return '姓名:' . $this->name . ' ,你好';
        }
    }

    // 调用类
    $ouyang = new Teacher(); 
   echo $ouyang->name;  // 灭绝师太
   echo '<hr>';
    echo $ouyang->fun1(); // 姓名:灭绝师太 ,你好

<?php
    // 创建类
    class Teacher {
        // 成员变量:类属性
        public $name = '灭绝师太';
        public $school = "PHP中文网";

        // __construct 构造方法
        public function __construct($name,$school)
        {
            $this->name = $name;
            $this->school = $school;
        }

        // 成员方法
        public function fun1() {
            return '姓名:' . $this->name . ' ,你好';
        }

        // __destruct 析构方法
        public function __destruct()
        {
            echo '<hr> 类执行完毕,要关闭了';
        }
    }

    // 调用类
    $ouyang = new Teacher("西门大官人",'php'); 
   echo $ouyang->name; // 西门大官人
   echo '<hr>';
    echo $ouyang->fun1(); //姓名:西门大官人 ,你好

类的三大特性

  • 继承:可以让某个类型的对象获得另一个类型的对象的属性和方法;
  • 封装:指将客观事物抽象成类,每个类对自身的数据和方法实行保护;
  • public 默认的,关键词定义类内,类外,子类都可见;
  • protected 关键词定义类内,子类可见,类外不可见;
  • private 关键词定义类内可见,子类,类外不可见;
  • 多态:指同一个实体同时具有多种形式,它主要体现在类的继承体系中;

8,命名空间

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

创建命名空间

<?php

    // 第一种
    // namespace one {
    //     function php() {};
    // }

    // namespace two {
    //     function php() {};
    // }

    // 第二种
    namespace three;
    function php(){};

    namespace four;
    function php() {};
<?php

    namespace one;
    const name = "西门";
    function php(){
        echo "我是" . name;
    };

    // 调用 one命名空间的php方法
    php(); // 我是西门

    namespace tow;
    const name = "欧阳";
    function php() {
        echo "我是" . name;
    };

    php(); // 我是欧阳

    namespace one\two\three;
    const name = "灭绝";
    function php() {
        echo "我是" . name;
    }
    php(); // 我是灭绝


网站公告

今日签到

点亮在社区的每一天
去签到