在 PHP 中,变量是用于存储数据值的标识符。它们可以存储各种类型的数据,如整数、浮点数、字符串、布尔值、数组和对象等。变量名称以 $ 符号开头,后面跟着一个或多个字母、数字或下划线。
"; echo "Age: " . $age; ?>
输出:
Name: John Doe Age: 30
输出:
Sum: 30
public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person("Alice", 25); echo "Name: " . $person->name . "
"; echo "Age: " . $person->age; ?>
输出:
Name: Alice Age: 25
$localVar = "I'm local"; echo $globalVar; // 输出 I'm global,因为可以在函数内部访问全局变量 echo $localVar; // 输出 I'm local } testFunction(); ?>
在 PHP 中,变量的作用域决定了变量在哪些代码块中是可访问的。变量的作用域可以是全局的或局部的。全局变量在整个脚本中都是可用的,而局部变量仅在声明它的函数或代码块内可用。
$localVar = "I'm local"; // 局部变量 echo $globalVar; // 可以访问全局变量 echo $localVar; // 可以访问局部变量 } echo $globalVar; // 可以访问全局变量 // echo $localVar; // 错误:局部变量在外部不可访问 testFunction(); ?>
在函数内部访问全局变量需要使用 global 关键字:
global $globalVar; // 声明要使用的全局变量 echo $globalVar; // 输出全局变量的值 } testFunction(); // 输出 "I'm global" ?>
超全局变量在脚本的任何地方都是可用的,无需使用 global 关键字。这些变量包括 $_GET、$_POST、$_SESSION、$_COOKIE、$_REQUEST、$_SERVER、$_ENV、$_FILES 和 $_GLOBALS。
静态变量在函数调用结束后不会被销毁,它们的值在函数调用之间保持不变。
static $count = 0; // 静态变量 $count++; echo $count; } testStatic(); // 输出 1 testStatic(); // 输出 2 testStatic(); // 输出 3 ?>
在类内部,变量的可见性可以通过 public、protected 和 private 关键字来控制。这些关键字决定了变量在类内部、子类或类外部的可访问性。
public $publicVar = "I'm public"; // 公有变量,任何地方都可访问 protected $protectedVar = "I'm protected"; // 受保护变量,只能在类和子类中访问 private $privateVar = "I'm private"; // 私有变量,只能在类内部访问 } $obj = new MyClass(); echo $obj->publicVar; // 输出 "I'm public" // echo $obj->protectedVar; // 错误:受保护变量在类外部不可访问 // echo $obj->privateVar; // 错误:私有变量在类外部不可访问 ?>
PHP关键字是在PHP编程中用于执行特定操作或指示的保留字。这些关键字具有特殊的意义,不能用作变量名、函数名或类名等标识符。
echo 是用于输出一个或多个字符串的关键字。
案例:
if 关键字用于条件判断。
案例:
= 18) { echo "You are an adult."; } else { echo "You are not an adult."; } ?>
function 关键字用于定义函数。
案例:
echo "Hello, " . $name . "!"; } greet("John"); ?>
class 关键字用于定义类。
案例:
public $color; function __construct($color) { $this->color = $color; } function describe() { echo "This car is " . $this->color . "."; } } $myCar = new Car("red"); $myCar->describe(); ?>
require_once 关键字用于引入一个文件,并确保该文件只被引入一次。
案例:
foreach 关键字用于遍历数组。
案例:
echo $fruit . "
"; } ?>
while 关键字用于执行循环,只要指定的条件为真。
案例:
echo $i . "
"; $i++; } ?>
try 和 catch 关键字用于异常处理。
案例:
// 可能会抛出异常的代码 $file = fopen("nonexistent.txt", "r"); // ... 读取文件 ... fclose($file); } catch (Exception $e) { // 处理异常的代码 echo "An error occurred: " . $e->getMessage(); } ?>
final 关键字用于声明类和方法不可被继承或重写。
案例:
// ... 单例模式的实现 ... } // 尝试继承 Singleton 类会导致错误 class AnotherClass extends Singleton { // ... 无效的代码 ... } ?>