

PHP的标记,注释,8种数据类型,常量,变量,运算符,函数,编码规范
注:下面的所有代码不写PHP标记<?PHP...?>
3.1 php标记风格,支持4种标签
<?php ....?> //最常用xml标签,推荐使用
script lanaguage="php">...</script> //脚本标记<
<?...?> //短标记
<%...%> //asp标记
如果要使用后面的标记要修改php.ini文件,将short_open_tag和asp_tags,设为on
3.2 PHP的3种注释符号
//。。。。 C++风格的单行注释
/*。。。。*/ C风格的多行注释
#。。。。。 shell风格的单行注释
注:单行注释中不能有?>标记,否则会出错
3.3 PHP支持的8种原始数据类型,包括4种标量,2种复合,2种特殊,包括布,整,浮,串, 数组,对象,资源和空值
1) 4种标量类型包括布尔Boolean,整型Integer,浮点Float/Double,字串String
a. 除了true和false外, 0/0.0/"0"/空白字串""/无赋值的数据也被认为是布尔的false值,例:
$boo = true;
if($boo==true)
echo "变量$boo为真!"
else
echo '变量$boo为假!!'
b. 32位系统整型数有效范围-2147483648--+2147483647, 整形可为8,10,16进制,8进制前加数字零0,16进制前加0x
8进制中出现非法数字,如8或9,则后面的数据被忽略
c. 浮点型在php4.0以前用bouble而不是float表示, 它与整形的区别是可以用来保存小数,范围是1.7E-308--1.7E+308
d. 字串是由数字,字母,符号组成,每字符占一字节,由单引',双引",定界符<<<来定义字串 ,
例1: 单引号和双引号的区别是,单引号中是字串,双引号中是变量或标记,
$i = '只会看到一遍'; //定义变量i为一个字符串
echo "$i"; //输出变量i所代码的字串
echo "<p>"; //输出段标记
echo '$i'; //输出的是字符串$i
例2: 定界符的用法,定界符后要接标识符,中间是字符串,最后也要有标识符,且该标识符不能有空或任何字符(必须在行开头)
$i = '显示该行内容';
echo <<std
这和双引号没有区别, \$i同以被输出来. <p>
\$i的内容为: $i
std; //最后的标识符,该标识符前不能有空或任何字符(必须在行开头)
2) 2种复合类型:数组Array,对象Object
数组中每个元素包括索引和值两部分, 索引由数字或字串组成. 值可以是4种标量数据,也可以是数组,对象或资源
3) 2种特殊类型:资源Resource, 空值NULL
a. 资源是特殊变量, 也叫句柄 ,保存外部资源的一个引用, 要通过专门的函数来建立和使用
b. NULL空值,表没有值是变量, 唯一值为null 例:
$string1 = null;
$string3 = "str";
if (is_null($string1)) echo "string1的值为空";
if (is_null($string2)) echo "string2的值为空";
unset($string3);
if (is_null($string3)) echo "string3 = null";
3.4 PHP常量, 常量定义方法及预定义常量,
1),常量是值不变的变量, 常量名由英文字母, 下划线,数字组成, 但数字不能开头, 定义常量语法: define(string 常量名constant_name,常量值mixed value,大写小是否敏感case_sensitive=true)
2) 获取常量值的两种方法,一是直接使用常量名,二是用constant()函数:mixed constant(string 常量名const_name)
3) 用defined()函数判断一个常量是否已经定义, 语法: bool defined(string 常量名constant_name);定义返回true,否则返回flase
例1:
define ("MESSAGE","能看到一次"); //定义了一个名为MESSAGE的常量,并赋值
echo MESSAGE."<BR>"; //输出常量
echo Message. "<BR>"; //输出常量,看大小写是否敏感
define ("COUNT", "能看到多次",true); //定义常量COUNT,赋值, 并设大小写不敏感
echo COUNT. "<BR>"; //输入常量
echo Count. "<BR>"; //输出常量看大小写是否敏感
$name = "count"; //将常量count赋值给name
echo constant ($name). "<BR>"; //输出变量$name
echo (defined ("MESSAGE"))."<BR>"; //判断变量MESSAGE是否被赋值,被赋值则输出1
4) 预定义常量, 用以获取php信息, 如:__FILE__ , __LINE__, PHP__OS分别表当前文件路径,当前行数,当前系统
例2:
echo "当前文件路径".__FILE__;
echo "<br>当前行数".__LINE__;
echo "<br>当前PHP版本".PHP_VERSION;
echo "<br>当前操作系统".PHP_OS;
3.5 PHP变量声明和赋值,变量间赋值与引用赋值,局部与全局变量,可变变量与预定义变量
1) 变量的声明与赋值: php中变量不需声明或把赋值当做声明,变量名区分大小写,用等号赋值,变量名前加$符号
$string1 = "spcn"; //变量不需声明直接赋值即可
$string2 = $string1; //变量间赋值
$string1 = "zhuding"; //改变变量的值
echo $string2; //输出变量
2) 变量间赋值与引用赋值:变量间赋值时一个变量值改变另一个变量值不变,因为它们使用不同的内存,引用赋值时一个变了,另一个值也就变了 例:
$i = "spcn"; //声明并赋值
$j = & $i; //引用赋值,
$i = "hello, $i"; //重新给变量i赋值
echo $j;
echo "<br>";
echo $i;
3)局部与和全局变量区别:作用域不同。 注:当全局域变量与局部变量名称相同时, 在局部变量的作用域内全局变量失效.
$example="在…………函数外"; //在函数外声明的全局变量
function example(){ //创建了一个函数example()
$example="在…………函数内"; //在函数内声明的局部变量
echo "在函数内输出的内容是:$example.<br>"; //在函数内的输出局部变量$example,
}
example(); //调用函数
echo "在函数外输出的内容是:$example.<br>"; // 这里的$example是全局变量
4) 可变变量:允许动态改变变量的名称, 变量名由另一个变量值决定,变量前多加或再加个$符号
$change_name="trans";
$trans="You can see me!";
echo "<br>";
echo $ change_name; // 输出变量change_name
echo $$ change_name; //再加$则输出change_name的值所代表的变量
5) 预定义变量:用以获取用户会话,操作系统环境等相关信息,
$_SERVER['SERVER_ADDR'] //获取当前服务器IP
$_SERVER['SERVER_NAME'] //获取服务器主机名
$_SERVER['REMOTE_ADDR'] //获取正浏览当前页面用户的IP
3.6 PHP运算符,算术,字符串,位,逻辑,比较,错误,三目,及运算优先级
1) 算术运算符,加+,减-,乘*,除/,取余%,递增(++),递减(--) ,后置递增或递减
前置递增或递减是把运算符放变量前面,先将变量加或减1再赋给变量,
后置递增或减是把运算符放变量后面,先反回变量当前值,再将变量当前值减或加1
$a = -100;
$b = 50;
$c = 30;
echo "\$a = ".$a.",";
echo "\$b = ".$b.",";
echo "\$c = ".$c."<p>";
echo "\$a + \$b = ".($a + $b)."<br>";
echo "\$a - \$b = ".($a - $b)."<br>";
echo "\$a * \$b = ".($a * $b)."<br>";
echo "\$a / \$b = ".($a / $b)."<br>";
echo "\$a % \$c = ".($a % $c)."<br>";
echo "\$a++ = ".$a++." ";
echo "运算后\$a的值为:".$a."<br>";
echo "\$b-- = ".$b--." "; //后置递减
echo "运算后\$b的值为:".$b."<br>";
echo "++\$c = ".++$c." "; //前置递增
echo "运算后\$c的值为:".$c;
2) 字符串运算符: 用点.(英文句号)连接两个字符串,而不是加+号
3) 赋值运算符: 用以把右的值赋给左边,包括 :(赋值=、加等+、减等-=、乘等*=、除等/=、连接.=)
4) 位运算符:主要是用以对二进制从低位到高位对齐后运算,
包括:(按位与&,按位或|,按位异或^,按位取反~,向左移位<<,向以移位>>)按位与位运算: 与,或,异或,取反,向左移位,向右移位
5) 逻辑运算: 用以组合逻辑运算的结果, 包括(逻辑与&&或and、逻辑或||或or,逻辑异或Xor,逻辑非!)
6) 比较运算符:用以比较变量或表达式结果的大小,真假等,结果为true/false
包括:小于<,大于>,小于等于<=,大于等于>=,相等==,不等!=,恒等(数值和类型都相同)===,非恒等!==
7) 错误控制运算符:在不影响程序运行的错误表达式前加“@”符号对错误信息屏蔽,不推荐使用
8) 三元或三目运算符: 根据一个表达式在另两个表达式中选择一个
9) 运算符优先级,先乘除后加减,优先级高的先算,低后算,同级从左到右
3.7 PHP表达式
表达式是PHP语言的基本元素, 由常量和变量以及多个符号组成。由变量名,函数名,运算符,字符串,数据和括号组成
$b=$a=5; //连续赋值,赋值操作是从右到左
3.8 函数定义,调用,形实参与返回值,变量函数与函数引用
1)函数的定义,调用方法,形参,实参,返回值
定义:将要重复使用的功能写在一个单独的代码块中,
调用:使用函数名和参数调用函数
实参与形参:函数间需要传递参数,被传入的参数是实参,函数定义参数叫是形参 ,分按值传递,引用传递和默认参数
返回值:函数只有一个返回值,多个就要定义数组,存到数组返回,用 return() 只有一次返回一个值,要返回
基本语法:
function fun_name($str1,$str2..$strn){ //function为定义函数关键字,fun_name为函数名,str1...strn为参数,
函数体fun_body
}
函数
function example($num){
return "$num * $num = ".$num * $num;
}
echo example(10); //用函数名和参数调用函数
结果:10*10=100
变量函数:在变量名后加括号,PHP自动寻找与变量名相同的函数来执行,后在的括号还可赋上实参,类似可变变量
function com() { //定义com函数
echo "来了<p>";
}
function go($name = "jack") { //定义go函数,并给形参赋值
echo $name."走了<p>";
}
function back($string) {
echo "又回来了,$string<p>";
}
$func = "come";
$func(); //这个是变量函数,作用是自动查找与变量func的值名称相同的函数执行,所以这里将查找与func变量值come名称相同的函数执行
$func = "go"; //给变量赋值
$func ("Tom"); //变量函数,并给变量值名称相同的那个函数赋上参数Tom
$func = "back"; //给变量赋值
$func("Lily"); //变量函数并赋实参 ,有些类似可变变量
对函数的引用: 引不但可用于变通变量,函数参数,也可用于函数本身。对函数的引用就是对返回结果的引用
取消引用:不需要引用时,使用unset函数断开变量名和变量内容间的绑定
function &example($tmp=0){
return $tmp;
}
$str = &example("看到了");
echo $str."<p>";
——这部分不了解-
3.9 PHP编码规范
形成统一的编程风格,利于团队开发和二次开发, 团队开成的基本要求,提高可读性,
代码标记,统一使用xml标记<?php ?> ,注释不能少也不能多,
缩进,使用tab,大括号,
不要把小括号和关键字贴在一起,用空格隔开
两个代码块间用1个空行,
命名规则:类,函数,变量命名要一看就能知道其用途