PHP学习
AI给的学习路线
准备
在学习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
注释
像大多数语言一样,php中同样存在两种注释
一种单行注释,一种多行注释
单行注释
//这是单行注释
多行注释
`/*
这是多行
注释
*/`
变量
变量的话都大同小异
都是一个用来存储信息的容器
变量规则
- 变量都是以$开头,后面跟着变量名字
- 变量名必须以字母或者下划线开始
- 变量名只能包含大小写字母,数字,下划线_,不能包含空格,且变量名区分大小写
创建变量
在php中变量在我们第一次输入的时候被创建
不需要单独去声明这个变量
这里就可以自己简单编写一个
点击查看代码
<?php
$a="jack";
$b=666;
echo $a;
echo $b;
?>
性质
php是一种弱类型的语言
在创建变量的时候不用去声明变量的类型,变量会自己识别数据类型
这也会导致了一些弱比较的绕过还有强比较的绕过
变量作用域
变量的作用域是变量中可以被引用/使用的部分
在php中有这五种作用域
local(局部作用域)
定义:在函数内部的变量
访问限制:只有函数内部可以访问
举个例子
点击查看代码
<?php
$a="jack";
function b()
{
$b = 666;
echo $b;
echo $a;
}
echo $a;
echo $b;
?>
这里就直接截图了代码放上面,不然不好看
这里先不运行b()这个函数
只有jack说明变量b不能输出
这里再把a弄没,然后再运行b函数
点击查看代码
<?php
$a="jack";
function b()
{
$b = 666;
echo $b;
echo $a;
}
b();
?>
可以看到无法输出变量a只能输出变量b
global(全局作用域)
定义:在函数外部声明的变量
访问限制:在函数内部无法直接访问全局变量。
需使用 global 关键字或 $GLOBALS 超全局数组访问。
举个例子
点击查看代码
<?php
$a="我是全局变量";
function b()
{
global $a;
echo $a;
}
b();
?>
运行看一下
也可以是
点击查看代码
<?php
$a="我是全局变量";
function b()
{
echo $GLOBALS['a'];
}
b();
?>
static(静态作用域)
定义:在函数内部使用static声明的变量
用途:记录函数调用次数或者保留状态
举个例子
点击查看代码
<?php
$a="handsome";
function b()
{
static $c =0;
$c++;
echo $GLOBALS['a'];
echo '说了'.$c.'次帅';
}
b();
?>
运行一下
这里的再次运行是要再次调用这个函数b
而不是说运行这个脚本的次数
换行好看一点
parameter(函数参数作用域)
这个实际上和local的性质是一样的都是只能在函数内部访问
有两种操作
值传递(默认)
举个例子
点击查看代码
<?php
function b($c)
{
echo $c;
}
$a = 2;
b($a);
?>
引用传递&
举个例子
点击查看代码
<?php
function b(&$c)
{
$c=666;
}
$a = 2;
b($a);
echo $a
?>
运行一下
实际上就是把函数里面的变量给继承出来掉
Superglobal Scope(超全局作用域)
定义:PHP 预定义的全局数组,在任何作用域自动可访问
简单说就是所有都能访问,包括函数内部
这里呢就会涉及到超全局变量
$_GET | 获取 URL 参数 |
---|---|
$_POST | 获取 POST 请求数据 |
$_SESSION | 会话数据 |
$_COOKIE | 客户端 Cookie |
$_SERVER | 服务器信息(如路径、IP) |
$GLOBALS | 所有全局变量的集合 |
这里就都简单演示一下操作
$_GET
点击查看代码
<?php
$name = $_GET['name'];
$age = $_GET['age'];
echo '您好'.$name.'您今年'.$age.'岁'
?>
这里传参看一下
a.php?name=小帅&age=18
$_POST
点击查看代码
<?php
$name = $_POST['name'];
$age = $_POST['age'];
echo '您好'.$name.'您今年'.$age.'岁'
?>
一样的,这里就直接使用hackbar传参了