php介绍和变量
什么是PHP
- PHP全称是Hypertext Preprocessor 超文本预处理器
- PHP也是嵌入到HTML代码中去的。使用不同的标记区分不同的代码
- PHP主要应用在Web开发领域,也就是B/S网络模式下
- B/S网络结构:Broswer / Server 浏览器端/服务器端
- C/S网络结构:Client / Server 客户端/服务器。如:QQ、MySQL客户端
语言基础
- PHP和ASP、JSP一样,都是嵌入到HTML代码中去的
- PHP代码的标记:
<?php …… ?>
。PHP文件扩展名:.php - PHP语言是区分大小写的,与JS一样。如:
$NAME
、$name
。PHP中的关键字和函数名不区分大小写。如:break
、continue
、for
、while
- PHP的语法基本语法与C、JAVA、PERL、JS它们很像。PHP中的每一行代码,必须以英文下的分号(;)结束,而JS的分号可以省略
- PHP简单、免费,LAMP环境:Linux+Apache+MySQL+PHP,WAMP环境:Windows+Apache+MySQL+PHP
PHP文件访问方式
PHP程序一定运行在服务器端,PHP的原程序不会发送客户端。在浏览器端,不会看到一个PHP的代码。PHP的访问,必须经过Apache服务器,必须经过域名,才能访问到PHP文件。
语句结束符
- PHP的每一行代码,都必须以英文下的分号(;)结束
- 如果只有一行PHP代码,可以省略分号
- 多行PHP语句代码,最后一行的分号可以省略
- 各种PHP的语法结构不加分号。如:for、if、switch、while、foreach等
PHP的注释
- 单行注释://和#
- 多行注释:/**/,多行注释不要嵌套
PHP变量
1.什么是变量
变量是临时存储数据的容器。变量是在内存中存在的。变量就是一个代号。如:房间号
2.变量命名规则
- 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
- 变量可以以字母、下划线开头,不能以数字开头
- PHP变量名前要加
“$”
符号,其后是变量的名称。$
只是一个PHP变量的标识符,它不是变量名的一部分。如:$name
- PHP变量名区分大小写。如:
$name
和$Name
是两个变量 - PHP中的关键字也可以作为变量名称。如:
$break
、$true
、$for
- 对于几个单词构成的变量名:”驼峰式”命名:
$getUserName
、$getUserPwd
“下划线”命名:$get_user_name
、$get_user_pwd
3.变量作用域
变量的作用域指的是变量能够被引用/使用的那部分脚本。PHP 有四种不同的变量作用域:local(局部)、global(全局)、static(静态)、parameter(参数)。
local 和 global :在所有函数外定义的变量拥有全局作用域,在函数内部声明的变量是局部变量,仅能在函数内部访问。要在一个函数中使用全局变量,需要使用global关键字。PHP将所有的全局变量存储在一个名为 $GLOBALS[index] 的数组中, index 保存变量的名称。
<?php
$count = 0; // 全局变量
function add()
{
global $x;
$y = 10; // 局部变量
echo "x+y = $x+$y";
}
?>
static:函数参数在函数退出时会撤消,而静态变量则不同,静态变量在函数退出时不会丢失值,并且再次调用此函数时还能保留这个值。如果期望某个局部变量不被删除,在第一次声明变量时使用static关键字。
static $count = 0;
parameter:参数指的是一种调用函数时传入的局部变量,其会在函数声明时的参数列 (parameter list) 中被声明。
function myfunction($x,$y){
//$x,$y为parameter
}
PHP变量操作
1.声明变量和赋值
php属于动态类型程序语言,变量在使用之前无须声明变量类型,同时在运行时可以动态的转化类型。使用( = )赋值变量的值。
变量的值传递(拷贝传值):将一个变量的值,”复制”一份,传给另一个变量。这两个变量之间没有任何联系,修改其中任何一个变量的值,另一个不会改变。变量的值传递将变量的名和变量的值,都存在”栈内存”中。
$a = 100;
$b = $a;
$a = 200;
echo "$a $";
//输出200 100
引用传地址(引用传值):新变量指向原变量地址,一旦新变量值发生改变,原变量值也会随之改变。引用传地址将变量名和数据地址存在”栈内存”中,将真正的数据存在”堆内存”当中。
$var1 = "mary";
$var2 = &$var1;
$var2 = "as";
echo "$var1";
//结果输出as
可变变量:使用一个变量的值作为这个变量的名称。通过使用两个$符号,可以把一个变量的值设置成一个变量的名称。
$var1 = "mary";
$$var1 = "happy";
echo "${$a} $mary";
//结果输出happy happy
2.isset()判断变量是否存在
描述:检测变量是否设置
语法:bool isset ( mixed $var [, mixed $... ] )
返回:如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE
if(isset($name)){
echo "变量存在";
}else{
echo "变量不存在";
}
3.empty()判断变量是否为空
描述:检查一个变量是否为空
语法:bool empty ( mixed $var )
说明:如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”“、0、”0”、NULL、FALSE、array()、以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE
if(empty($name)){
echo "变量为空";
}else{
echo "变量不为空";
}
4.unset()删除变量
描述:释放给定的变量、释放空间
语法:void unset ( mixed $var [, mixed $... ] )
$name = "张三丰";
//删除变量
unset($name);
5.var_dump()显示变量的类型和值**
描述:打印变量的相关信息
语法:void var_dump ( mixed $expression [, mixed $... ] )
说明:此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
$name = "张三丰";
$age = 24;
$salary = 3009;
var_dump($name,$age,$salary);
6.print_r()显示数组的元素信息**
描述:打印关于变量的易于理解的信息。
语法:bool print_r ( mixed $expression )
说明:如果给出的是 string、integer或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object与数组类似。
$arr = array("张三丰","男",25,3008);
print_r($arr);