PHP是运行在服务器端的脚本语言,PHP代码在服务器上执行,以纯HTML结果返回浏览器
PHP作用:
- 能够生成动态页面内容
- 能够创建,打开,读取,写入,删除以及关闭服务器上的文件
- 能够接收表单数据
- 能够发送并取回cookies
- 能够添加,删除,修改数据库中的数据
- 能够限制用户访问网站中的某些页面
- 能够对数据进行加密
PHP脚本可放置于文档中的任何位置
PHP脚本以<?php
开头,以?>
结尾
PHP文件的默认文件扩展名是“.php”
PHP注释:
1.单行注释:
- //
- #
2.多行注释:
- /* ………*/
变量
1.变量命名规则:
- 变量以$符号开头
- 以标识符命名规则为准
- 对大小写敏感
2.PHP不用单独创建变量,变量在首次被赋值时被创建
例.
<?php
$a="Nico";
$b=5;
$c="5";
?>
如上,不用告知PHP变量的数据类型,PHP会根据它的值,自动把变量转换为正确的数据类型
3.显示变量数据类型:var_dump($变量名)
如.
<?php
$x="5";
$y=5;
echo var_dump($x); //string '5' (length=1)
echo var_dump($y); //int 5
?>
4.获取当前变量消耗的内存:memory_get_usage($变量名)
如.
<?php
$x=5;
echo memory_get_usage($x); //262144
?>
变量作用域
可以在PHP脚本的任意位置对变量进行声明。
变量的作用域:变量能够被引用/使用的那部分脚本
PHP的三种不同的变量作用域:
- local局部
- global全局
- static静态
local和global作用域
- 函数之外声明的变量拥有global全局作用域,只能在函数之外进行访问
- 函数内部声明的变量拥有local局部作用域,只能在函数内部进行访问
例.
<?php
$x=5; //拥有global全局作用域
function mTe(){
$y=10;//拥有local局部作用域
echo "函数内部变量x是:$x";
echo "<br>";
echo "函数内部变量y是:$y";
}
mTe();
echo "<br>";
echo "函数之外变量x是:$x";
echo "<br>";
echo "函数之外变量y是:$y";
?>
运行结果:
如上,$x
是创建于函数之外的全局变量,拥有global全局作用域;
$y
是创建于函数内部的局部变量,//拥有local局部作用域。
故此,在函数内部输出$x
和$y这两个变量的值时,$x
的值无法输出,可以输出$y
的值,因为$y
是在函数内部创建的局部变量;
在函数之外输出$x
和$y
这两个变量的值时,$y
的值无法输出,可以输出$x
的值,因为$x
是全局变量
注:可以在不同的函数中创建名称相同的局部变量,因为局部变量只能作用于创建它的函数中
global关键词
作用:在函数内部访问/定义全局变量
例.
在函数内部访问全局变量:
<?php
$x=5;
$y=10;
function mTe(){
global $x,$y;
$y=$x+$y;
/*等效于 $GLOBALS['y']==$GLOBALS['x']+$GLOBALS['y'];*/
}
mTe();
echo $x."<br>".$y;
?>
运行结果:
例.
在函数内部定义全局变量:
<?php
function mTe(){
global $x;
$x=123;
/*以上两句必须分开写,不能合成一句*/
/*等效于 $GLOBALS['x']=123;*/
}
mTe();
echo $x; //123
?>
PHP在$GLOBALS[‘全局变量名’]的数组中存储了所有的全局变量。可以在函数内直接访问,也可直接更新全局变量
static关键词
作用:使函数完成/执行后,某个局部变量不被删除。在首次声明变量时使用static关键词
例.
<?php
function mTe(){
static $x=10;
echo $x;
$x++;
}
mTe(); //10
mTe(); //11
mTe(); //12
?>
如上, mTe()函数执行完后,局部变量$x
本应被删除,但首次声明时使用static关键字,故局部变量$x
在函数 mTe()执行完后不会被删除,每当函数被调用时,局部变量$x
存储的信息都是函数最后一次被调用时所包含的信息
若首次声明局部变量$x
时未使用static关键字,则每次调用函数 mTe()结果均为10