目录
PHP语法
- PHP脚本以<?php开始,以?>结束
- PHP文件的默认文件扩展名是.php
- PHP文件通过包含HTML标签和一些PHP脚本代码
- PHP中的每个代码都必须以分号结束。
- 输出文本基础指令:echo和print
PHP变量
变量是用于存储信息的容器,变量规则:
- 变量以$符号开始,后面就跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9和_)
- 变量名不能包含空格
- 变量名是区分大小写的($y和$Y是两个不同的变量)
PS:
没有声明变量的命令,在第一次赋值就被创建了
附一个文本值时要在两侧加上引号
PHP是一门弱类型语言(还有JavaScript)
PHP会根据变量的值,自动把变量转换为正确地数据类型;在强类型的编程语言(Java和Python等)中,必须在使用变量前先声明(定义)变量的类型和名称。
PHP变量作用域:是脚本中变量可被引用/使用的部分
四种不同的作用域:local、global(全局)、static(静态)、parameter(参数)
- 在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问;你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。
- global关键词:
在所有函数外部定义的变量,拥有全局作用域。要在一个函数中访问一个全局变量,需要使用 global 关键字,global 关键字用于函数内访问全局变量。
PHP将所有全局变量存储在一个名为$GLOBALS[index]的数组中。index保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
- static关键词:
当一个函数完成时,它的所有变量通常都会被删除。当你希望某个局部变量不要被删除时,第一次赋值变量时使用static关键字,每次调用该函数时,该变量将会保留着函数前一次被调用时的值,注意该变量仍然是函数的局部变量。
- 参数:
通过调用代码将值传递给函数的局部变量,参数是在参数列表中声明的,作为函数声明的一部分。
//global关键字
<?php
$x=6;
$y=9;
function Test()
{
global $x,$y;
$y=$x+$y;
}
Test();
echo $y; // 输出结果为15
?>
//$GLOBALS[index]的数组
<?php
$x=6;
$y=9;
function Test()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
Test();
echo $y; //输出结果为15
?>
//static关键字
<?php
function Test()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
Test(); //输出结果为0
Test(); //输出结果为1
Test(); //输出结果为2
?>
//参数parameter
<?php
function Test($x)
{
echo $x; //输出结果为15
}
Test(15);
?>
PHP echo 和 print 语句
相同:
是一个语言结构,使用时可以不用加括号,也可以加上:echo 或 echo() / print 或 print() ,输出的字符串中可以包含HTML标签
区别:
echo —— 可以输出一个或多个字符串
print —— 只允许输出一个字符串,返回值总为1
PS:echo 输出的速度比print快,echo 没有返回值,print 有返回值1
PHP EOF (heredoc) 使用说明
PHP EOF (heredoc) 是一种命令行shell(如 sh 、csh 、ksh 、bash 、 PowerShell 和 zsh )和程序语言(像 Perl 、 PHP 、Python 和 Ruby )里定义一个字符串的方法。
使用概述:
- 必须后接分号,否则编译不通过
- EOF 可以用任意其它字符代替,只需保证结束标志和开始标志一致
- 结束表示必须定格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)
- 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号
- 当内容需要内嵌引号(单或双引号)时,不需要加转义符,本身对单双引号转义,此处相当于q和qq的用法
- 位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接
<?php
$name="runoob";
$a= <<<EOF
"abc"$name
"123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>