1. Introdução de variáveis
PHP é uma linguagem de tipagem fraca, portanto não é necessário declarar o tipo de dados da variável para o PHP. O PHP converterá automaticamente a variável para o tipo de dados correto de acordo com o valor da variável. Em uma linguagem de programação fortemente tipada, o tipo e o nome de uma variável devem ser declarados (definidos) antes que ela possa ser usada.
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
Semelhante à álgebra, as variáveis PHP podem receber um valor (x=5) ou uma expressão (z=x+y).
Regras de variáveis PHP:
- As variáveis começam com um sinal $ seguido do nome da variável
- Os nomes das variáveis devem começar com uma letra ou sublinhado
- Os nomes das variáveis só podem conter letras, números e sublinhados (Az, 0-9 e _)
- Nomes de variáveis não podem conter espaços
- Os nomes das variáveis diferenciam maiúsculas de minúsculas ($y e $Y são duas variáveis diferentes)
2. Variáveis locais, variáveis globais, variáveis estáticas
Variáveis locais: uma variável local é uma variável definida dentro de uma função ou método. Eles só são visíveis dentro dessa função ou método; outras funções ou métodos não podem acessá-los. Variáveis locais são criadas quando uma função ou método é chamado e persistem durante essa função ou método. Variáveis locais são destruídas quando a execução da função ou método termina.
Variáveis globais: Variáveis globais são variáveis definidas fora de todas as funções e métodos. Eles são visíveis em todo o escopo do programa e podem ser acessados e modificados por qualquer função ou método. Dentro de uma função ou método, você pode usar a palavra-chave global para se referir a variáveis globais.
Variáveis estáticas: uma variável estática é uma variável definida dentro de uma função ou método, mas tem uma duração de armazenamento estático. O valor de uma variável estática permanece o mesmo mesmo se a função ou método for chamado várias vezes. Dentro de uma função ou método, você pode usar a palavra-chave static para definir uma variável estática.
<?php
$x=5; // 全局变量
$s = 10;
function testFunc()
{
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
global $x;
echo "使用global关键字获取全局变量X: $x";
echo "<br>";
echo "使用 \$GLOBALS数组获取全局变量s:$GLOBALS[s]";//PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。
echo "<br>";
echo "变量 y 为: $y";
echo "<br>";
}
function testStaticFunc($num = 0){
static $temp = 0;
$temp++;
echo "第$num 次static静态变量temp:$temp";
echo "<br>";
}
testFunc();
echo "<p>静态变量测试:<p>";
//静态变量测试1
testStaticFunc(1);
//静态变量测试2
testStaticFunc(2);
//静态变量测试3
testStaticFunc(3);
echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";