简介: PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了C、Java、Perl 以及PHP 自创新的语法。它可以比CGI 或者Perl 更快速的执行动态网页。 PHP语法与C最大的不同之处在于PHP重实用,而C重原理。PHP的创始人是为了更新自己的主页而设计PHP的,不是像C的创始人那样为了开发操作系统,这是两者语法风格不同的根本原因。 重点: PHP的基本语法:数据类型、常量、变量、运算符与表达式、流程控制、函数、数组。 1、PHP的数据类型 不管常量还是变量都不需要先定义后使用(类中的变量除外),PHP根据第一次赋值的情况自动决定数据类型。 PHP的基本变量类型有整型(Integer)、浮点型(Float)、字符串(String)(这是C 没有的,但C++有String类)以及布尔型(Boolean)(C没有,但是C++有)。 构造类型有数组和对象。 此外还有两个特殊类型:空值(NULL)(C也有)和资源(Resource)。 2、定义常量 用define函数来定义 define函数原型:bool define(string name,value,[,bool case_insensitive])第三个参数如果是TRUE,则表示常量名是大小写不敏感的,反之就是敏感的,默认是敏感的。 【例】复制PHP内容到剪贴板 PHP代码: <?php define(“C1”,”Hello PHP World!”); echo C1; ?> 运行结果:输出常量C1的值(Hello PHP World!)。 内容解释和补充: ① <?php和?>是PHP代码的定界符,将PHP代码同HTML代码区分出来。 ② PHP代码的语句以分号结束 ③ PHP支持C和Unix风格的注释方式: /* C风格多行注释 */ // C风格单行注释 # Unix风格单行注释 ④ echo就相当于C的printf或C++的cout ⑤ PHP也支持‘
’作为换行符,但是它的含义仅仅相当于在HTML里敲个回车, 浏览器里看还是在一行上的。 3、定义变量 变量名前都要带个$ 不用担心自定义变量名同PHP关键字冲突,可以定义一个变量叫$if,$for等。但不推荐这么做。 变量名大小写敏感,并且命名方式遵循C标识符的命名原则。 【例】复制PHP内容到剪贴板 PHP代码: <?php $var1=100; $var2=&$var1; $var2=200; echo $var1.”<br>”; echo $var2; ?> 运行结果:输出两个200,分别是$var1和 $var2的值。 内容解释和补充: ①输出的时候为了清楚加了个换行符,PHP里句点(.)是字符串的连接符。 如果你在把上面的echo语句写成: echo “The value of $var1 is ”.$var1.”<br>”; 那么你得到的输出将是:The value of 200 is 200 ② PHP在使用双引号作为字符串的定界符时,会自动把变量名替换成相应的值。 如果你想保持变量名原样输出,那么可以用单引号做字符串的定界符。 ③语句$var2=&$var1;中的&符号的含义是将变量名$var2也指向$var1所在的存 储空间。$var2并不是一个新变量,而是$var1的另一个名字,它们对应的是同一段内存空间,不管使用谁都是访问的同一个变量,$var2就叫做对$var1的引用。 变量作用域 【例】复制PHP内容到剪贴板 PHP代码: <?php $a=1; function func() { echo "The value of a is:".$a; } func(); ?> 【例】复制PHP内容到剪贴板 PHP代码: <?php $a="newname"; $$a="content"; //newname本是$a的值,但是$$a的含义是以$a的值为名的变 echo $newname; //$$a等价于 $newname echo $a; ?> 4、运算符和表达式 PHP在运算符和表达式方面和C极其类似,有算术、逻辑、关系、位运算符及相应的表达式,也有条件运算符(:?)及其表达式,同样还是我们开始提到的那个思想,实用为上,很多限制被取消了,相对较宽松。 【例】 复制PHP内容到剪贴板 PHP代码: <?php $a="1"; $b=1; if ($a==$b) echo "Equal!"; else echo "Not Euqal!"; ?> 运行结果:“Equal!” 内容解释和补充: ① PHP将字符串转换为数值时会自动截取全部它能理解为数值的部分 ②允许跨越数据类型的比较 ③想严格比较两个变量,PHP提供了一对特殊的运算符:全等(===)和非全等(!==)。只有当值相当且数据类型相同时,才叫全等,两者有一不符,则非全等。此时,即使1与 1.0也是非全等的。 ④运算符有优先级和结合性的概念 4、流程控制 1)switch case语句中case后面可以写任意表达式。C只能是常量表达式。 2)if elseif else结构中间的else和if可以连在一起写。 3)PHP有一个独特的循环结构foreach,是专门为数组遍历准备的。 6、函数 函数定义的一般形式是: function 函数名($参数1,$参数2,……,$参数n) { 函数体 return 语句返回值 } 函数可以嵌套定义。 引用 引用就是给变量取个小名(专业的话叫别名),即两个或多个变量名对应同一变量存储空间。 这一概念用在函数参数上特别有用,我们知道实参与形参的结合是单向值传递,即实参将它的值复制给形参,而形参变量在函数体中可能被改变,但由于形参变量会在函数返回时被撤销,所以形参不能将改变了的值传回给实参。这一机制保证了函数只能有一个返回值。 当需要返回多个值的时候,我们可以使用引用做形参,这相当于把实参的地址传递给函数,函数对这个地址上的数据进行操作,当然就可以把改变保留下来。引用的概念是C++里增加的,PHP的函数也支持引用做形参。只要把C++里引用做参数的概念理解清楚了,在PHP 里是完全一样的。 PHP有巨大的函数库,比如关于时间的函数就有一大堆。 7、数组 PHP的数组很像数学概念中的“集合”。 PHP的数组就是把一堆数据(什么类型都行)放在一起。很像C的结构体,比结构体还灵活,它可以自动增减数据元素。 PHP数组的定义: 通过array函数实现,一般形式为: $数组名=array(键名=>数据, 键名=>数据, ……, 键名=>数据); 这里的键名在C中叫下标,在PHP里键名非常人性化。对应的数据如果存储的是姓名,键名就可以叫name,是成绩,就可以叫score,当然你如果想用整数也可以,随你的便。 如果你懒得在定义数组时指定键名,可以这样写: $数组名=array(数据1, 数据2, ……, 数据n); 这时候PHP会按照C语言的方式按数据的先后顺序从0开始自动赋予整型键名。 PHP提供了一个特别方便的显示数组全部元素的函数print_r 【例】复制PHP内容到剪贴板 PHP代码: <?php $arr1=array(100,200,300,400); $arr2=array("num"=>100,"name"=>"Liuxy","score"=>98); print_r($arr1); echo "<br>"; print_r($arr2); ?> 输出结果: Array ( [0] => 100 [1] => 200 [2] => 300 [3] => 400 ) Array ( [num] => 100 [name] => Liuxy [score] => 98 ) 定义二维数组。可以嵌套地使用array函数。 【例】复制PHP内容到剪贴板 PHP代码: $arr=array( "row1"=>array(100,200,300,400), "row2"=>array("num"=>100,"name"=>"Liuxy","score"=>98) ); PHP数组元素的访问,是数组名[键名]的形式。 PHP数组的遍历: 通过foreach语句实现,foreach语句格式如下: foreach (数组名 as 变量名) 数据元素处理语句; 翻译成C语言就是: for (i=0;i<n; i++){变量名=a;其他包含“变量名”的处理语句} foreach等价于前面的 for (i=0;i<n; i++) as等价于“变量名”与a之间的等号 【例】 复制PHP内容到剪贴板 PHP代码: <?php $arr=array(1,2,3,4,5,6); foreach ($arr as $value ) echo ”$value<br>”; ?> 输出结果:只有数值。 如果还想把对应的键名也同时输出出来,可以用这样的形式: foreach ($arr as $key=>$value) echo “键名为$key的元素值为$value”; 遍历二维数组:在C中我们一般用二重for循环,PHP中的foreach也可以嵌套使用。 【例】复制PHP内容到剪贴板 PHP代码: <?php $arr=array( "row1"=>array(100,200,300,400), "row2"=>array("num"=>100,"name"=>"Liuxy","score"=>98) ); foreach ($arr as $key=>$value) { echo "$key=>$value"; echo "<br>"; foreach ($value as $k=>$var) echo "$k=>$var<br>"; } ?> PHP的数组元素是可以动态增长的。 为数组增加一个元素同访问数组元素一样,只不过键名是新的或者为空,如$arr[new]=3; 或$arr[]=3,这样做的结果是PHP为数组$arr增加一个键名为new的元素其值为3,若键名为空,则以当前整型键名的最大值加1作为默认的键名分配给新的元素。 要想删除一个数组元素,可以使用unset函数。 如删除上面新增的那个元素,可以写成unset($arr[new])。也可以使用unset函数删除整个数组结构,如unset($arr)。 提醒大家的是,PHP为数组的排序、查找、合并、拆分提供了大量函数,用到这些基本算法时,不用再去翻数据结构课本了。
信息发布:广州名易软件有限公司 http://www.myidp.net
|