基本形式
-
标记符
1.<推荐>
<?php
这里要写符合php语法的语句
?>
<script language=”php”>
这里要写符合php语法的语句
</script>
3.<不推荐>
<?
这里要写符合php语法的语句
?>
它依赖于php.ini中的一个设置项:
将其改为On,则上述形式就可以用了。
php的结束标记(比如 ?> ),在如下情况可以省略:
php的语句之后,再没有了html代码部分
-
区分大小写特性
1,变量区分大小写;
2,常量通常默认也区分,但可以人为设定为不区分(但这种做法不推荐)
3,其他场合的关键字都不区分,比如函数名,系统关键字(for,if,return....)
-
语句使用分号结束
1.在一个php的语句标记中的最后一个分号可省略
2.php结束标记省略则不能省略最后一个分号
-
注释
- 单行注释:
形式1: //注释内容
形式2: #注释内容
- 多行注释
/* 注释内容,可以多行 */
- 2个多行注释的技巧:
有时候,我们因为测试或别的原因,需要将一大段代码多次进行“注释”或“反注释”;
则此时,可以使用如下2个技巧来方便实现:
技巧1:
技巧2:
变量
-
基本理解
变量可以理解为只是一个代表一定存储空间及其中的数据的一个“标识符”——也就是一个名字。
$v1 = 1; 这一行代码,图示如下:
使用形式:每个变量名前面必须以$开头。
定义形式:php中,不支持“单纯定义”一个变量,而是,在第一次一个变量赋值的时候,就算是定义变量!
-
变量的基本操作
只有4个操作:
1.赋值:
等号(=)的左边放变量名,右边放“数据”,就是赋值;
$v1 = 1;
2.取值:
任何需要一个数据的语句中使用一个变量,此时就是指从该变量取得该变量的值——取值;
概括来说,大约有如下情形:
echo $v1; //取出v1的值并输出
$v2 = $v1; //取出v1的值并给其他变量赋值;
$v2 = $v1 + 3; //取出v1的值并与3进行运算!
$v2 = round( $v1 ); //取出v1的值并并使用函数round()对其进行四舍五入运算
3.判断isset(变量名):
作用:判断该变量是否存在,或该变量是否有数据值!存在或有数据值,就是true,否则就是false
4.删除unset(变量名):
删除一个变量,并不是指将该变量从程序中删掉,而是,“断开”该变量名跟该变量原有的数据值之间的“引用关系”(联系)!,此时,会有这样的结果:
1,该变量名已经不指向(引用)任何数据了,则此时其isset()判断的结果就是false
2,该数据(可能)没有任何变量指向它了,就成为“无法使用的数据”——通常就被自动回收了
$v1 = 1;
unset($v1);
$s1 = isset($v1); //false
-
变量命名规则
1.基本规则
以字母或下划线开头
后跟任意数量(含0个)的字母,数字和下划线
2.行业规则(可读性)
1,骆驼命名法:首单词小写,其后每个单词首字母大写
举例:$name $myName $myFatherName
2,帕斯卡命名法:每个单词首字母大写
举例:$Name $MyName $MyFatherName
3,下划线分割法:每个单词小写,并且之间用下划线分开
举例:$name $my_name $my_father_name
-
变量的传值方式
1,变量的传值方式,是指“一个变量,传给另一个变量”的内部细节形式——单对单;
2,变量的传值方式,只有2中:值传递,引用传递;
1.值传递
2.引用传递
php中,只有一种语法形式可以实现变量的引用传值方式:&符号。
结果是:
1,此时仍然有了2个变量,但只有一个数据值(数据空间),2个变量都共同指向该数据空间。
2,对其中任何一个变量的操作,其实都是在操作数据值(空间);
-
可变变量:
$s1 = “abc”; //这是一个变量,里面存储的是字符串”abc”
$abc = 10; //
echo $$s1; //???,输出10
理解:
1,在php中,一个”$”后面,总是跟着一个变量名!
2,这里,echo输出的这个变量(以第一个$为标识)的名字是:$s1, 即”abc”
3,所以,这里输出的是 $abc, 即 10
4,这种连续出现“$”的变量形式,就是所谓的“可变变量”;
-
预定义变量
所谓预定义变量,其实指,php这个语言工具中,预先就定义好的变量;
我们只是“拿来使用”。
综述:
主要有:$_GET, $_POST, $_REQUEST, $_SERVER, $GLOBALS,
均是数组
系统定义与维护——即我们不应该其给其赋值或销毁其值,只应该去“用其值”。
具有超全局作用域——哪里都可以使用。
不同情形下可能具有不同的值
1.$_POST变量
它代表用户通过表单以post方式( method=”post” )提交的时候所提交的所有数据——这个称为post数据。
2.$_GET变量
它代表用户通过get方式( 有5种get形式 )提交的时候所提交的所有数据——这个称为get数据。
小提示:get,post没有翻译!
提交get数据有5种形式:
形式1:
<form action="目标文件.php" method="get">
<input type="text" name="data1" />
<input type="text" name="data2" />
<input type="submit" value="提交" />
</form>
这种形式的get数据,跟post数据类似,数据内容由用户填写或选择而得到!
形式2:
<a href=”目标文件.php?data1=5&data2=cctv&age=18”>链接文字</a>
1,它只是一个链接而已,只是在链接文件名的后面加上“?”,然后一个一个“串接数据”;
2,数据形式为:数据项名称=数据值, 相互之间用“&”符号隔开
3,这种形式的数据也同样是“点击链接”就提交的get数据,但用户只能选择点还是不点,而不能修改数据。
形式3:
<script>
location.href = “目标文件.php?data1=5&data2=cctv&age=18”;
</script>
1,该语句可以看做是通过js技术实现的页面跳转功能,跟a标签的连接功能完全一样!
2,其中该语句,通常都是放在一个函数中,然后因为某个事件发生而去调用该函数!
形式4:
<script>
location.assign( “目标文件.php?data1=5&data2=cctv&age=18”);
</script>
该语句其实跟形式3完全一样功能,只是location这个对象实现页面跳转的另一个语法形式而已!
形式4:
<script>
location.assign( “目标文件.php?data1=5&data2=cctv&age=18”);
</script>
该语句其实跟形式3完全一样功能,只是location这个对象实现页面跳转的另一个语法形式而已!
形式5:php的跳转语法
<?php
//语法形式: header(“location: 目标网页地址”);
header(“location: 目标文件.php?data1=5&data2=cctv&age=18”);
?>
小结:
上述多种get形式提交数据,都要理解为:
跳转到某个页面,并“同时”携带(提交)一定的get数据过去!
不管哪种形式的get数据提交,接收get数据,都只有一种形式,跟post类似:
$v1 = $_GET[‘数据项名称’]; //取得一个get数据项的值;比如$_GET[‘data1’], $_GET[“age”];
也可以“输出”所有get数据:
print_r($_GET); 或 var_dump($_GET);
3.$_REQUEST变量
它是$_GET变量和$_POST变量数据的“合集”:即,它里面同时存储了这两种数据。
结果为:
怎么能同时具有get和post数据呢?
只有一个方式:
<!--以下action中的?号后面的数据都会以get方式提交-->
<form action=”目标文件.php?data1=5&data2=cctv&age=18” method=”post”>
<!--以下表单项的数据都会以post方式提交-->
<input type=”text” name=”n1” />
<input type=”text” name=”n1” />
<input type=”submit” value=”提交” />
</form>
举例:
当post数据和get数据的数据项名称相同时(其实我们反对这么做),默认是post数据覆盖了get数据。
不过这个状况同样可以在php.ini中设置:
4.$_SERVER变量
它代表在一次浏览网页的过程中的浏览器端的一些信息或服务器端的一些信息。
我们只是在程序中可以拿到这些信息,并用于编程所需!比如:取得用户的访问IP地址。
注意:
这种信息,随着不同的页面,和不同的服务器,以及不同的时刻,都可能不同!
要求:
大约有30个左右的信息,我们只要知道其中5个左右!主要有:
$_SERVER[‘REMOTE_ADDR’]:获取访问者的ip地址
$_SERVER[‘SERVER_ADDR’]:获取服务器所在的ip地址
$_SERVER[‘SERVER_NAME’]:获取服务器的名字,其实就是站点设置中的servername
$_SERVER[‘DOCUMENT_ROOT’]:获取站点的真实物理地址,其实就是站点设置中的documentroot
$_SERVER[‘PHP_SELF’]:获取当前网页地址(不含域名部分)
$_SERVER[‘SCRIPT_FILENAME’]:获取当前网页地址物理路径
$_SERVER[‘QUERY_STRING’]获取当前网页地址中的所有get数据(就是?号后面部分),但只是一个整体的字符串而已。
5.$GLOBALS变量
它也是一个“重复性数据”,它里面存储了我们自己定义的所有“全局变量”。
举例:
$v1 = 1; //定义了一个全局变量,
此时,就有了这样一个数据:$GLOBALS[‘v1’],其值就是1
echo $v1 ; //输出1
echo $GLOBALS[‘v1’]; //输出1
这个变量,主要是用于在局部范围不可以使用全局变量的时候,又需要该全局变量的值,此时就可以用它来取得该全局变量的值。
网友评论