PHP学习

AI给的学习路线

image

准备

在学习PHP之前我们需要有一个可以运行PHP的环境
这里可以去使用WampServer 这是地址https://www.wampserver.com/en/
也可以使用小皮来编写代码,编写之后直接在网站里访问就可以了
还有XAMPP,这里直接用小皮了

PHP介绍

PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器"
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
是专门为WEB开发设计的且可以直接嵌入HTML中

基础知识

基本语法

php脚本可以放在文档中的任何一个位置
PHP脚本以结束
php文件后缀一般是.php
这里可以简单写一个php脚本运行了熟悉一下

点击查看代码
<?php
echo "my first code";
?>

并且每一行代码要用;结束
用来分隔指令集区
在php中,浏览器输出文本的有两个基础的就是echo和print
这里运行一下echo.php
image

注释

像大多数语言一样,php中同样存在两种注释
一种单行注释,一种多行注释
单行注释
//这是单行注释
多行注释
`/*
这是多行
注释

*/`

变量

变量的话都大同小异
都是一个用来存储信息的容器

变量规则

  1. 变量都是以$开头,后面跟着变量名字
  2. 变量名必须以字母或者下划线开始
  3. 变量名只能包含大小写字母,数字,下划线_,不能包含空格,且变量名区分大小写

创建变量

在php中变量在我们第一次输入的时候被创建
不需要单独去声明这个变量
这里就可以自己简单编写一个

点击查看代码
<?php
$a="jack";
$b=666;
echo $a;
echo $b;
?>

image

性质

php是一种弱类型的语言
在创建变量的时候不用去声明变量的类型,变量会自己识别数据类型
这也会导致了一些弱比较的绕过还有强比较的绕过

变量作用域

变量的作用域是变量中可以被引用/使用的部分
在php中有这五种作用域

local(局部作用域)

定义:在函数内部的变量
访问限制:只有函数内部可以访问
举个例子

点击查看代码
<?php
$a="jack";
function b()
{
    $b = 666;
    echo $b;
    echo $a;
}
echo $a;
echo $b;
?>

image
这里就直接截图了代码放上面,不然不好看
这里先不运行b()这个函数
image
只有jack说明变量b不能输出
这里再把a弄没,然后再运行b函数

点击查看代码
<?php
$a="jack";
function b()
{
    $b = 666;
    echo $b;
    echo $a;
}
b();
?>

image
image
可以看到无法输出变量a只能输出变量b

global(全局作用域)

定义:在函数外部声明的变量
访问限制:在函数内部无法直接访问全局变量。
需使用 global 关键字或 $GLOBALS 超全局数组访问。
举个例子

点击查看代码
<?php
$a="我是全局变量";
function b()
{
    global $a;
    echo $a;
}
b();
?>

image

运行看一下
image

也可以是

点击查看代码
<?php
$a="我是全局变量";
function b()
{
    echo $GLOBALS['a'];
}
b();
?>

image

static(静态作用域)

定义:在函数内部使用static声明的变量
用途:记录函数调用次数或者保留状态
举个例子

点击查看代码
<?php
$a="handsome";
function b()
{
    static $c =0;
    $c++;
    echo $GLOBALS['a'];
    echo '说了'.$c.'次帅';
}
b();
?>

image
运行一下
image
这里的再次运行是要再次调用这个函数b
而不是说运行这个脚本的次数
image
image
换行好看一点
image
image

parameter(函数参数作用域)

这个实际上和local的性质是一样的都是只能在函数内部访问
有两种操作
值传递(默认)
举个例子

点击查看代码
<?php
function b($c)
{
    echo $c;
}
$a = 2;
b($a);
?>

image
image
引用传递&
举个例子

点击查看代码
<?php
function b(&$c)
{
    $c=666;
}
$a = 2;
b($a);
echo $a
?>

image
运行一下
image
实际上就是把函数里面的变量给继承出来掉

Superglobal Scope(超全局作用域)

定义:PHP 预定义的全局数组,在任何作用域自动可访问
简单说就是所有都能访问,包括函数内部
这里呢就会涉及到超全局变量

$_GET 获取 URL 参数
$_POST 获取 POST 请求数据
$_SESSION 会话数据
$_COOKIE 客户端 Cookie
$_SERVER 服务器信息(如路径、IP)
$GLOBALS 所有全局变量的集合

这里就都简单演示一下操作

$_GET

点击查看代码
<?php
$name = $_GET['name'];
$age = $_GET['age'];
echo '您好'.$name.'您今年'.$age.'岁'
?>

image
这里传参看一下
a.php?name=小帅&age=18
image

$_POST

点击查看代码
<?php
$name = $_POST['name'];
$age = $_POST['age'];
echo '您好'.$name.'您今年'.$age.'岁'
?>

image
一样的,这里就直接使用hackbar传参了
image

$_SESSION

posted @ 2025-06-10 21:44  crook666  阅读(14)  评论(0)    收藏  举报