PHP语言基础及规范

在开发任何一种语言的时候,都需要先明白这个语言的规范,来一起看看PHP的规范,包括标记、注释、变量、数组、常量、函数。

PHP语言基础及规范

  PHP标记风格

风格(标准风格推荐使用)

代码如下:

<?php

echo"这是xml风格的标记";

?>

xml风格的标记是常用的标记,也是推荐使用的标记,服务器不能禁用,该风格的标记在xml,xhtml中都可以使用。

2.脚本风格

代码如下:

echo'这是脚本风格的标记';

3.简短风格

代码如下:

注:需要在中设置short _open_tag=on,默认是on,或者在 PHP 编译时加入了 –enable-short-tags 选项。(PHP 3版本还可以通过 short_tags() 函数激活使用短标记。)

风格

代码如下:

<%

echo'这是asp风格的标记';

%>

注:需要在 配置文件中开启 asp_tags = on;

上面asp风格与简短风格需要在中设置下。默认是不支持的。

  php中的注释

(一) 以//开始.

(二) 以#开始.

#这是shell单行注释风格

(三) 多行注释有一种以/*开始以 */结束

php中单引号与双引号的区别?

1. 由下可看出,双引号的变量是解析并输出,而单引号的'变量不解析。

2. 单引号的解析速度比双引号的快

3. 对于单引号来说,只有两个转义 ',

4. 除了上述两个转义字符,其他都原样输出。

5. 对于双引号来说,可转义字符除,',"之外,还有 , ,等

6.除了单引号和双引号用来声明字符串变量外,还有heredoc方式

程序代码:

//$age = 22;

//$str1 = '他今年 $age 岁'; //''原样输出

//$str2 = "他今年 $age 岁"; //""要解析里面的变量 即输出22

//echo $str1,"

",$str2;

 php中的注意事项

一. 在js中,一个语句如果单占一行的话,在行尾可以不加;号

二. 但是,在php加,必须每一行后面都要加分号

虽然在整个php的最后一句例外,但是强烈建议也加上

三 . 对于纯php页面,?>是可以不写的

而且,对于不直接运行,而是被别的页面所包含的文件,往往还推荐结束不加?>

这样包含的页面更快执行速度更快

  php中的数字类型

1. php变量有8种

2. 整型、浮点型、布尔型、字符串型、NULL型、数组型、对象型、资源型

3. 在js中,声明变量用var 变量名[= 值],在php中声明变量,直接变量名=值;

4. 在php中变量命名规范

5. 变量的名字由“字母”、下划线、数字、组合而成。并且数字不能开头

6. 在php中变量前面有一个‘$'标记

7. echo 不是一个函数,是一种语法结构。

8. 可以把变量打印出来

9. 要打印多个变量时,用 ','隔开

10. 变量的传值

11. 引用传值 和 赋值传值

12. 字符串 类型

  变量和常量

(一)常量

变量可以随时重新赋值

//$age = 22;

//$age = 23;

//echo "

",$age;

(二)变量和常量的区别?

1. 它们的声明方式不同

2. 而常量一旦声明,不能改变其值

define('PI',3.14);

PI =3.23;语法错误

echo "

",PI;

3. 变量可以销毁,而常量一旦主义也不能销毁

unset($age);

var_dump($age);

4.常量是不能注销的

unset(PI); //语法错误,不允许注销

echo PI;

5. 变量有其作用域,函数内部默认情况访问不到外部的变量,

而常量,一旦定义,无论是在全局定义,还是在函数内部主义。

在页面的任意位置都可以访问到。

(三) 变量与常量的命名规范

1.常量的命名规范,从语法角度和变量是一样的。

允许是字母、数字、下划线的组合,并且数字不能开头

2. 从习惯角度讲:一般常量用“大写”

//define('SF',342);

//echo SF; //最新的版本已经对常量名区分大小写

(四)常量的值允许是哪几种?

1. 只能把标量型(单一型)赋给常量;

2. 不能把复合型,如数组,对象赋给一常量。

3. 资源型 如果赋给常量,如引来一些不可预料的错误。

代码如下:

define('AGE',22);

define('HEI',343.234);

define('ROOT','D:/www');

define('LOCK',true);

define('NON',NULL);

echo AGE,HEI,ROOT;

var_dump(LOCK);

var_dump(NON);

以下是代码例子

<?php

//================================================ 返回原处

//2. 整型、浮点型、布尔型、字符串型、NULL型

$age = 22;

$weight = 75.23;

$name ='张三';

$money = false;

$house = null; //相当于js中的undifined

echo $age,$weight,$money,

//================================================ 返回原处

//10. 变量的传值

$age =22;

$nian =$age;//把$age的值读取出来,赋给$nian

$nian= 24;

echo $nian,'----',$age;

//================================================

//11. 引用传值赋值传值

$money =10000;

$credit = &$money; //声明$credit变量,并把credit指针指向money的存储空间

$credit = 5000;

echo $credit,'--------',$money;

unset($credit);

echo $credit;

//================================================

//字符串 类型

$str1 = 'hello';

$str2 = "world";

echo $str1,$str2,"

";

//================================================

$age = 22;

function t(){

var_dump($age);

}

t();

define('HEI',88.63);

function s(){

var_dump(HEI);

}

s();

// 注:php中的函数不能重复声明,函数里的变量包得比较严,只不函数内起作用。不会跑到外面作用

//5.对于以上情况,用变量,常量都行,但是我们选择常量。

//理由:一是ROOt,被经常引用

//二是:如果用变量,$ROOT ='a';极有可能在多人开发过程中被改变值

//用常量也有不好的地方:

//常量一旦定义就不会被销毁

//常量始终点内在里,没法销毁。

//=====================================================

//在php中,变量名也是可变的。

$talk='hello';

$heat= 'kill you';

$love= 'love';

echo $love,"

";

$action = 'talk';

$t ='action';

echo $$$t;

//=====================================================

//提前预告:不仅变量名,函数名也是可变的,类名也是可变 的。

////常量名也要变一变

define('PI',3.14);

define('HEI',342);

$cons= 'PI';

echo $cons,"

";

echo constant($cons); //constant是把变量的值当成常量的名字,引用常量

//===================================================== 返回原处

////===========================================

  //php里的超级全局变量

$num =99;

function t(){

echo $num;

//}

////在这个调用过程,$num为null,因为函数内部没有定义$num

////且在php中,并不会像js一样,沿着作用域往外寻找。

t();

///===========================================

//在php,有一类特殊的变量,叫做超级全局变量。

//不管你的在函数中还是在类内部,也不管代码包装了多深

//都能够访问到该变量。

function a(){

echo $_GET['title'];

}

a();

///===========================================

  //想用php做留言本

//关于逻辑运算符

var age= 2||3;

alert(age);

var_dump($age);

//在php中,逻辑运算返回true/false

$age = 2||3;

var_dump($age);

$a = 3;

$b= 2;

if($a=9 || $b=1){

$a +=1;

$b +=1;

}

echo $a,"

",$b;

//php中的函数与js中的函数的不同之处

//1. 在js中,可以多次声明同名函数

//但是在一个php页面中,不能多次同名函数

//2. 在js中,函数名区分大小写

//在php中,函数名不区分大小写(类方法也不区分)

///=========================================== 返回

//3. 在php中,调用函数时的参数个数必须与声明函数的参数一致

$a = 1;

$b = 2;

$c = 3;

function t($a,$b,$c){

echo $a+$b+$c;

}

t(1,2,3);

t(1,2);

///===========================================

//4. 在php的函数,函数声明时,某个参数可以有“默认值”

function t($a,$b,$c=0){

echo $a+$b+$c;

}

t(1,2);

?>