语法
PHP语法出现在文档的任意位置
<?php
// PHP 代码
?>
PHP代码每一行后使用分号结尾
常规的可以使用print和echo指令向html模版输出数据
<?php
echo "hello world";
?>
变量
PHP变量使用$符开始声明
<?php
$a = 1;
$b = 1;
$c = $a + $b;
?>
- 变量以字母、数字、下划线构成
- 数字不可以打头
- 变量区分大小写
弱类型
PHP变量无需声明类型,脚本会自动判断他的类型
<?php
$a = '1';
$b = 1;
echo $a + $b;
?>
这样计算的结果为2
作用域
- local: 局部作用域
- global: 全局作用域
局部和全局无法互相访问,局部作用域内的方法常定义在函数内部
局部如果想访问全局变量,需要通过使用global声明
<?php
$a = 'global';
function echo_test()
{
$b = 'local';
echo $a;
echo $b;
}
echo_test();
?>
此时输出为
local
并且由于访问全局变量会造成如下警告
Warning: Undefined variable `$a` in /Users/zege/Desktop/phptest/index.php on line 6
加上global关键字试试
<?php
$a = 'global';
function echo_test()
{
global $a;
$b = 'local';
echo "$a<br>";
echo $b;
}
echo_test();
?>
一切正常
global
local
Global
全局变量均存储在$GLOBALS数组中
<?php
$a = 'global';
function echo_test()
{
echo $GLOBALS['a'];
}
echo_test();
?>
输出结果为全局变量a的值
global
Static
static有着为函数内部局部变量续命的作用
如果希望函数内部的变量值可以得以续用并保持之前的状态,可以使用static关键字对其声明
<?php
function echo_test()
{
static $a = 1;
$a += 1;
echo "$a<br>";
}
echo_test();
echo_test();
echo_test();
?>
输出结果三次a变量的值并没有重复声明,而是延续上次使用状态
2
3
4
输出
- echo: 可以输出一个或多个字符串,字符串可以包含 HTML 标签
- print: 只允许输出一个字符串,返回值总为
在输出过程中,使用双引号,可以将变量解释为实际的值,单引号一切皆为字符串儿
<?php
$name = '张三';
echo '$name';
echo '<br>';
echo "$name";
?>
$name
张三
<?php
$name = '张三';
print '$name';
print '<br>';
print "$name";
?>
$name
张三