PHP 1 - PHP入门&基础语句

KaldX

PHP语法

  • PHP 脚本以 <?php 开始,以 ?> 结束。

PHP变量

  • 变量以 $ 开始,后面跟着名称。
  • 变量名区分大小写(PHP语句也是)。
  • PHP变量作用域:
    • local
    • global
    • static
    • parameter

局部和全局作用域

  • 在所有函数外部定义的变量,拥有全局作用域。
  • 全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$x = 5; // 全局变量

function myTest() {
$y = 10; // 局部变量
echo "<p>测试函数内变量:</p>";
echo "变量 x 为: $x"; // x 的值将为空,除非我们使用 global 关键字
echo "<br>";
echo "变量 y 为: $y";
}

myTest();
echo "<p>测试函数外变量:</p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";
?>
  • 使用 global 关键字:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$x = 5;
$y = 10;

function myTest() {
global $x, $y;
$y = $x + $y;
}

myTest();
echo $y; // 输出 15
?>

PHP 将所有全局变量存储在一个名为 $GLOBALS[_index_] 的数组中。index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];

Static 作用域

  • 当一个函数完成时,它的所有变量会被删除。如果希望某个局部变量不要被删除,第一次声明变量时使用 static 关键字:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
function myTest() {
static $x = 0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}

myTest();
myTest();
myTest();
?>

每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

参数作用域

  • 参数是通过调用代码将值传递给函数的局部变量。
1
2
3
4
5
6
7
<?php
function myTest($x) {
echo $x;
}

myTest(5);
?>

基础语句 echo & print

  • echo - 可以输出一个或多个字符串。
  • print - 只允许输出一个字符串,返回值总为 1。
  • echo 输出的速度比 print 快,echo 没有返回值,print 有返回值 1。

echo 语句

  • echoecho() 可以包含 HTML 标签
1
2
3
echo "<h2>Hello World!</h2>";
echo "Hello, ", "World!"; // 使用 echo 输出多个字符串
echo "<br>";
  • printprint() 可以包含 HTML 标签
1
2
print "<h2>Hello World!</h2>";
print "<br>";

EOF(heredoc)

  • EOF(heredoc) 是一种在命令行 shell 和程序语言里定义一个字符串的方法。
  • 位于开始标记和结束标记之间的变量可以被正常解析,但是函数不可以
  1. 必须后接分号,否则编译通不过。
  2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当于 q 和 qq 的用法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$name = "World";

// 不带引号的 heredoc
$str1 = <<<EOF
Hello, $name!
This is a "quoted" string and it's easy to include 'single quotes' too.
EOF;

// 带单引号的 heredoc
$str2 = <<<'EOF'
Hello, $name!
This is a "quoted" string and it's easy to include 'single quotes' too.
EOF;

echo $str1;
echo "\n";
echo $str2;
?>
  • Title: PHP 1 - PHP入门&基础语句
  • Author: KaldX
  • Created at : 2025-03-18 23:00:00
  • Updated at : 2025-03-18 23:00:00
  • Link: https://blog.kaldx.com/2025/03/18/PHP入门&基础语句/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments