我的PHP学习笔记
更新记录
2022.05.20
目录
基础语法
1. 可放在文档**任何位置**
2. 以 <?php 以 ?> 结束
3. 文件扩展名:**.php**
4. 可包含 HTML标签 和 PHP脚本代码
5. 每行代码都必须以 英文分号 ; 结束
6. 输出文本的基础指令有两种:echo 和 print
注释
单行注释:// 代码
多行注释:/* 代码 */
变量
变量:储存数据的”容器“
PHP 变量规则:
- 变量以$ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母数字字符以及下划线(Az、0-9 和_ )
- 变量名不能包含空格
- 变量名是**区分大小写**的(**$y** 和 **$Y** 是两个**不同**的变量)
// 实例
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
PHP 是一门弱类型语言
PHP 不用声明变量及数据类型,变量在第一次赋值时被创建。
PHP会根据变量的**值**自动判断变量的数据类型
Tips:在强类型的编程语言中,必须先在使用前声明(定义)变量的类型和名称
PHP变量作用域
PHP四种不同的作用域
- local 局部
- global 全局
- static 保留函数中的变量
- parameter 参数
局部、全局作用域
<?php
$x = 5 ; //全局变量
function myTest ()
{
$y = 10 ; //局部变量
echo "<p>测试函数内变量:<p>" ;
echo " 变量x为: $x ";
echo "<br>" ;
echo " 变量y为: $y ";
}
myTest ();
echo "<p>测试函数外变量:<p>" ;
echo " 变量x为: $x ";
echo "<br>" ;
echo " 变量y为: $y ";
?>
运行结果:
<p>测试函数内变量:<p>
变量x为:
<br>
变量y为: 10
<p>测试函数外变量:<p>
变量x为: 5
<br>
变量y为:
解析:
1. 第一部分的
<p>测试函数内变量:<p>
变量x为:
<br>
变量y为: 10
是调用 myTest() 函数输出的结果
变量x为空,是因为变量x是函数外定义的,**是一个全局变量**,无法在函数内使用
如果需要在函数中使用全局变量,需使用**golobal**关键字
2. 第二部分的
<p>测试函数外变量:<p>
变量x为: 5
<br>
变量y为:
变量y为空,是因为变量x是在函数内定义的,**是一个局部变量**,无法在函数外使用
global 关键字
global关键字 用于 函数内 调用函数外定义的全局变量
// 示例
<?php
$x=5; // 全局变量
$y=10; // 全局变量
function myTest()
{
global $x,$y; // 调用全局变量
$y=$x+$y;
}
myTest();
echo $y; // 輸出15
?>
PHP将所有全局变量存储在一个名为**$GLOBALS[ *index* ]**的**数组**中。
index 保存变量的名称。
这个数组可以在函数内部访问,也可以直接用来更新全局变量。
上方代码可改写为;
<?php
$x=5;
$y=10;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
?>
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。
如果我们需要保存某个局部变量不被删除,
可在第一次声明变量时,使用 **static** 关键字
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
}
myTest(); // 结果:0
myTest(); // 结果:1
myTest(); // 结果:2
?>
用 static 声明变量后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。
Tips:用static声明的变量任然是函数的局部变量
参数作用域
参数:指的是 通过调用代码将值传递给函数的局部变量
参数是在**参数列表**中声明的,作为函数声明的一部分:
参数列表是什么? 后面学到到php函数了解更多
PHP echo、print语句
区别:
- echo 可输出一个或者多个字符串
知识连接
输出多个字符串时,相当于python中的print("" + "" + "")
- print 只能输出一个字符串,返回值为 1
Tips:echo 输出速度快于print,echo没有返回值,print有返回值 1
示例:
<?php
$txt1="Learn PHP";
$txt2="w3cschool.cc";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "Study PHP at $txt2";
echo "My car is a {$cars[0]}";
?>