PHP入门速成教程


Posted in PHP onMarch 19, 2007

PHP是一种用于创建动态WEB页面的服务端脚本语言。如同ASP和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器。但是与ASP或ColdFusion不同,PHP是一种源代码开放程序,拥有很好的跨平台兼容性。用户可以在Windows NT系统以及许多版本的Unix系统上运行PHP,而且可以将PHP作为Apache服务器的内置模块或CGI程序运行。 

 除了能够精确的控制WEB页面的显示内容之外,用户还可以通过使用PHP发送HTTP报头。用户可以通过PHP设置cookies,管理用户身份识别,并对用户浏览页面进行重定向。PHP具有非常强大的数据库支持功能,能够访问几乎目前所有较为流行的数据库系统。此外,PHP可以与多个外接库集成,为用户提供更多的实用功能,如生成PDF文件等。 
用户可以直接在WEB页面中输入PHP命令代码,因而不需要任何特殊的开发环境。在WEB页面中,所有PHP代码都被放置在“<?php”和“ ?>”中。此外,用户还可以选择使用诸如<SCRIPT LANGUAGE="php"></SCRIPT>等的形式。PHP引擎会自动识别并处理页面中所有位于PHP定界符之间的代码。 

 PHP脚本语言的语法结构与C语言和Perl语言的语法风格非常相似。用户在使用变量前不需要对变量进行声明。使用PHP创建数组的过程也非常简单。PHP还具有基本的面向对象组件功能,可以极大的方便用户有效组织和封装自己编写的代码。 
  
PHP语法概述 
A. 基本语法 
即使初次接触PHP的用户也会发现自己对PHP的语法风格并不陌生。 
例如:<?php 
echo “Hello!”; 
?> 
显示结果为“Hello!”。 
PHP中,所有的变量都以标识“$”开头。我们可以对上述代码做如下改动: 
<?php 
$greeting = “Hello!”; 
echo $greeting; 
?> 
改变后的代码显示结果不变。 
PHP中使用“.”符号连接不同的字符串,而其它的算术运算符则继承了流行编程语言的风格。举例如下: 
<?php 
$greeting = “Hello!”; 
$num = 3 + 2; 
$num++; 
echo “$greeting $num people!”; 
?> 
显示结果为“Hello!6 people!”。 

PHP对各种运算符及运算规则都有一套完整的规定,如果用户具有C或C++语言的编程背景的话,可以发现一切都得心应手。 

 与Perl语言一样,在PHP中,如果在双引号包含的字符串中含有变量的话,该变量将用相应的变量值替换;如果字符串被单引号包含,则不做替换。例如: 
<?php 
$name = ‘PETER'; 
$greeting_1 = “Hello, $name!”; 
$greeting_2 = ‘Hello, $name!'; 
echo “$greeting_1n”; 
echo “$greeting_2n”; 
?> 
显示结果为: 
Hello, PETER! 
Hello, $name! 
(注:上述代码中的“n”为换行符,只能在双引号字符串下使用) 
  
B. 变量 
PHP允许用户象使用常规变量一样使用环境变量。例如,在页面http://www.nba.com/scores/index.html中包含如下代码: 
<?php 
echo “[$REQUEST_URI]”; 
?> 
则输出结果为[/scores/index.html] 
  
C. 数组 
用户在使用PHP创建数组时,可以把数组索引(包括常规索引或关联索引)加入方括号中。例如: 
$fruit[0] = ‘banana'; 
$fruit[1] = ‘apple'; 
$favorites['animal'] = ‘tiger'; 
$favorites['sports'] = ‘basketball'; 

如果用户在向数组赋值时不指明数组下标,PHP将自动把该对象加入到数组末尾。例如对于上述$fruit数组可以用以下方式赋值而保持结果不变, 
$fruit[] = ‘banana'; 
$fruit[] = ‘apple'; 
同样,在PHP中,用户还可以根据需要建立多维数组。例如: 
$people[‘David'][‘shirt'] = ‘blue'; 
$people[‘David'][‘car'] = ‘red'; 
$people[‘Adam'][‘shirt'] = ‘white'; 
$people[‘Adam'][‘car'] = ‘silver'; 
在PHP中,用户还可以使用array()函数快速建立数组。例如: 
$fruit = array(‘banana',‘apple'); 
$favorites = array(‘animal' => ‘tiger', ‘sports' => ‘basketball'); 
或者使用array()函数创建多维数组: 
$people = array (‘David' => array(‘shirt' => ‘blue','car' => ‘red'), 
‘Adam' => array(‘shirt' => ‘white',‘car' => ‘silver')); 
此外,PHP还提供了内置函数count()用于计算数组中的元素数量。例如: 
$fruit = array(‘banana', ‘apple'); 
print count($fruit); 
显示结果为2。 
  
D. 结构控制 
在PHP中,用户可以使用“for”或“while”等的循环结构语句。例如: 
for ($i = 4; $i < 8; $i++) { 
print “I have eaten $i apples today.n”; } 
或 
$i = 4; while ($i < 8) { 
print “I have eaten $i apples today.n”; 
$i++; 

返回结果为: 
I have eaten 4 apples today. 
I have eaten 5 apples today. 
I have eaten 6 apples today. 
I have eaten 7 apples today. 
此外,用户还可以使用“if”和“elseif”等的选择性结构语句。例如: 
if ($user_count > 200) { 
print “The site is busy right now!”;} 
elseif ($user_count > 100) { 
print “The site is active right now!”; 
else { 
print “The site is idle - only $user_count user logged on.”; 

  
表单处理 

PHP为用户提供了众多方便易用的强大功能。在表单的处理方面,PHP能够自动地将由客户端表单发送的数据赋值给相应变量,从而极大地简化了整个表单的处理过程。 
举例来说,用户建立如下表单: 
<INPUT TYPE=TEXT NAME=“name” VALUE=“PETER”> 
当使用PHP对上述代码进行处理时,PHP自动创建一个名为$name的变量,并将变量值“PETER”赋予该变量。 
用户可以直接对PHP创建的变量进行各种操作,例如显示变量值: 
echo “Hi $name!”; 
或对变量值进行验证: 
if ($name == “PETER”) { echo “Please check out your email.”; } 

下面,我们就来看一下如何通过使用PHP创建并处理一个基本的表单。在示例当中,我们将会要求表单的填写者回答几个简短的问题,包括输入表单填写者的姓名,电子邮件地址,完成调查问卷等。 

这里,我们将所要设计的页面按照功能划分成表单显示和表单处理两个功能模块。这样,用户就不必设计两个不同的页面,而只需要在同一个PHP页面中通过逻辑控制显示或处理相应的功能模块。 
  
A. 表单显示 
我们通过第一个功能模块来实现表单的显示。具体代码为: 
<?php 
function display_form() 

global $PHP_SELF; 
?> 
  
<FORM TARGET=“<?php echo $PHP_SELF; ?>”METHOD=GET> 
Name: <INPUT TYPE=TEXT NAME=“name”><br>Favorite Fruit: <INPUT TYPE=RADIO NAME=“fruit” VALUE=“apple”>Apple 
<INPUT TYPE=RADIO NAME=“fruit” VALUE=“orange”>Orange 
<INPUT TYPE=RADIO NAME=“fruit” VALUE=“banana”>Banana 
Favorite Times to Eat Fruit: 
<INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“m”>Morning 
<INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“n”>Noon 
<INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“d”>Dinner 
<INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“l”>Latenight 
<INPUT TYPE=HIDDEN NAME=“stage” VALUE= “results”> 
<INPUT TYPE=SUBMIT VALUE= “Thanks!”> 
</FORM> 
  
<?php 

?> 

上述代码中绝大多数都是创建表单所必需的HTML代码。在此,我们仅对所涉及到的PHP知识做一下简单介绍。 

首先,我们来看一下代码开始处的变量$PHP_SELF。变量$PHP_SELF是PHP中一个很方便的指针,其变量值就是当前页面的URL地址。这样,我们就可以通过在随后的form标签中将TARGET的值设定为$PHP_SELF,实现由该表单页面处理表单的目的。这里,我们使用$PHP_SELF变量而不使用页面的实际地址,是因为通过使用$PHP_SELF变量,我们可以方便对编写的页面代码进行修改和移动,而不必担心在每次改动之后重新输入新的页面地址。 

另外,在使用$PHP_SELF变量时,我们采用了如下方式: 
global $PHP_SELF; 
这表明代码中的$PHP_SELF变量为全局变量。用户在使用PHP的过程中一定要注意PHP中任何的函数变量都是局部变量。这就意味着任何函数变量的作用域都只局限于包括该变量的函数本身。即使函数外存在同名变量,变量的值也不相同。因此,如果我们没有在代码中以显式方式声明函数变量$PHP_SELF为全局变量具有全局唯一值的话,用户就会发现函数中的变量$PHP_SELF的值将会为空,而不是我们预先所期望的当前页面的URL地址。 

用户可能已经注意到我们将表单复选选项的名称设置为times[]数组,而把单选选项的名称设定为fruit常规变量。这是因为单选选项只允许用户选择唯一一个正确选项,因此fruit变量的值只可能是一个字符串;相反,复选选项则允许用户做多重性选择。如果,用户希望PHP能够保存用户可能作出的所有选择的话,就需要使用数组来保存所有的可能值。按照PHP的语法规则,我们通过在变量名times后面加上方括号,使PHP知道该变量是一个数组变量而不是普通的常规变量。 
最后,我们设定了一个名为stage的隐含变量,通过使用该变量,我们可以控制是否显示表单还是处理表单结果。

PHP 相关文章推荐
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
PHP 开发环境配置(测试开发环境)
Apr 28 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
PHP针对JSON操作实例分析
Jan 12 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
SSO单点登录的PHP实现方法(Laravel框架)
Mar 23 PHP
PHPCMS忘记后台密码的解决办法
Oct 30 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
php smtp实现发送邮件功能
Jun 22 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
phpMyAdmin 安装教程全攻略
Mar 19 #PHP
PHP5中的this,self和parent关键字详解教程
Mar 19 #PHP
一篇不错的PHP基础学习笔记
Mar 18 #PHP
PHP_MySQL教程-第一天
Mar 18 #PHP
PHP 中dirname(_file_)讲解
Mar 18 #PHP
PHP session常见问题集锦及解决办法总结
Mar 18 #PHP
用PHP生成html分页列表的代码
Mar 18 #PHP
You might like
php高级编程-函数-郑阿奇
2011/07/04 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
[20:30]职业巡回赛回顾
2018/08/09 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
Python实现从订阅源下载图片的方法
2015/03/11 Python
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
Django缓存系统实现过程解析
2019/08/02 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
中药专业自荐信范文
2014/03/18 职场文书
大学校务公开实施方案
2014/03/31 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript