PHP基本语法

62 阅读1分钟

语法

PHP语法出现在文档的任意位置

<?php
// PHP 代码
?>

PHP代码每一行后使用分号结尾


常规的可以使用printecho指令向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
张三