PHP概述.docx
- 文档编号:12789506
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:23
- 大小:43.43KB
PHP概述.docx
《PHP概述.docx》由会员分享,可在线阅读,更多相关《PHP概述.docx(23页珍藏版)》请在冰豆网上搜索。
PHP概述
PHP
学习内容:
PHP语言,分三个阶段学习:
初级、中级、高级
初级学习大概是7天左右,内容有:
1)介绍PHP、它的工作原理、安装
2)基本语法、数据类型、常量和变量
3)PHP提交表单的方法、运算符表达式、条件判断语句在PHP中的用法
4)PHP中的常用函数(function)、类(class)
5)帮助中常用的内容
中级主要是讲Smarty,Smarty是使用PHP写出来的模板PHP模板引擎,程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑
高级主要是讲Mojavi,Mojavi是基于MVC的框架结构。
框架将强制把页面与程序分离,Java,ASP.NET使用Struts。
FileZillaFileZilla2.2.15
FileZillaFileZilla2.2.14b
描述:
BUGTRAQ ID:
14730
FileZilla是一款Windows平台的开放源码FTP/SFTP客户端。
php.ini配置文件中的指令asp_tags打开后才可用。
PHP
了解PHP
1.什么是PHP?
PHP(“PHP:
HypertextPreprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web开发。
而PHP独特的语法混合了C、Java、Perl以及PHP式的新语法。
PHP能够用在所有的主流操作系统上,包括Linux、Unix的各种变种(包括HP-UX、Solaris和OpenBSD)、MicrosoftWindows、MacOSX、RISCOS等。
今天,PHP已经支持了大多数的web服务器,包括Apache、MicrosoftInternetInformationServer(IIS)、PersonalwebServer(PWS)、Netscape以及iPlantserver、OreillyWebsiteProServer、Caudium、Xitami、OmniHTTPd等。
PHP最强大最显著的特性之一,是它支持很大范围的数据库。
目前,PHP支持如下数据库:
AdabasD
InterBase
PostgreSQL
dBase
FrontBase
SQLite
Empress
mSQL
Solid
FilePro(只读)
DirectMS-SQL
Sybase
Hyperwave
MySQL
Velocis
IBMDB2
ODBC
Unixdbm
Informix
Ingres
Ovrimos
2.PHP工作原理
PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,工作过程:
Ø从客户端的浏览器中对Web服务器发送一个请求。
ØApache得到对test.php的请求,.php文件由PHP预处理器处理。
Øtest.php是包含命令的一个PHP脚本。
这些命令之一是打开一个到一个数据库的连接并取出数据。
PHP处理到数据库的连接,并且解释SQL调用从DB中提取数据。
Ø服务器服务器得到从PHP解释器来的连接请求,并且处理这个请求。
数据库然后将应答和结果回送到PHP解释器。
ØApache回送该结果到客户端的浏览器浏览器,作为对他请求的应答。
客户端的浏览器上显示一个包含从一个数据库来的一些信息的网页。
Ø从客户端的浏览器请求该页,请求被发送给web服务器,接着调用一个PHP脚本。
PHP脚本由PHP预处理器解释并从数据库中取出数据,然后结果由余下的PHP脚本加工并转化成HTML,做后的HTML被发回用户的浏览器。
3.在windows上安装Apache、PHP、MySQL
(1)Apache:
和IIS一样同属于Web服务器,是当今最流行的服务器,支持Linux和Unix,IIS只支持Windows。
(2)安装XAMPP:
将XAMPP解压到“D:
\programfiles”路径下的“D:
\programfiles\xampp”文件夹中,然后安装。
注:
Apacheweb服务器在启动时会把目录转到根目录,这将导致PHP尝试在根目录下读取php.ini,如果存在的话。
安装结束后打开网页,在地址栏中输入http:
//localhost,点击左侧chinese显示版本php5.1,停止服务器,启动所有程序中的Xampp–phpswitch之后输入4,改成版本php4.4.1,在开启服务器。
刷新页面。
在C:
\ProgramFiles\xampp\htdocs下新建work文件夹,将新建的文件存在此路径下,访问地址:
http:
//localhost/work/test.php
4.HelleWorld
phpecho'
HelloWorld^0^
';?>
PHP基础语法
1.PHP中输出文本
phpecho'
HelloWorld^^
';echo'
HelloEveryOne^^
';?
>
"echo"是用来显示输出的,PHP语句之间使用“;”分隔,它也是语句结束符。
2.PHP标记
(1)
echo(“这是最常用的方式”);?
>
(2)
php
echo(“如果你想服务于XML文档就是用这种方式”);
?
>
(3)
echo(“这是类似 JavaScript 及 VBScript 语法的 PHP 语言嵌入范例,指定脚本语言的方式”);
(4)<%echo(“ASP的风格的标记”);%>
注:
此外注意如果将PHP嵌入到XML或XHTML中则需要使用
php?
>以保持符合标准。
3.PHP注释
PHP支持C,C++风格的注释。
注释有如下三种注释方式:
php
echo "这是第一种例子。
\n"; // 本例是 C++ 语法的注释
/* 本例采用多行的
注释方式 */
echo "这是第两种例子。
\n";
echo "这是第三种例子。
\n"; # 本例使用 UNIX Shell 语法注释
?
>
C风格的注释在碰到第一个*/时结束。
小心不要嵌套C风格的注释,当注释大量代码时,可能犯该错误。
php
/*
echo "This is a test"; /* This comment will cause a problem */
*/
?
>
4.PHP常量和变量
常量:
合法的常量名以字母(由大写字母组成和C语言一样)或下划线开始,后面跟着任何字母,数字或下划线。
常量和变量不同:
∙常量前面没有美元符号($);
∙常量只能用define()函数定义,而不能通过赋值语句;
∙常量可以不用理会变量范围的规则而在任何地方定义和访问;
∙常量一旦定义就不能被重新定义或者取消定义;
常量只能包含标量数据(boolean,integer,float和string)。
常量的范围是全局的。
不用管作用域就可以在脚本的任何地方访问常量
define()的功能可以让我们自行定义所需要的常量。
见下例
php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?
>
变量:
变量用一个美元符号($)后面跟变量名来表示。
变量名是区分大小写的。
一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字或下划线。
5.PHP数据类型
1)数据类型
四种标量类型:
∙boolean(布尔型):
表达了真值,可以为TRUE或FALSE。
要指定一个布尔值,使用关键字TRUE或FALSE。
两个都不区分大小写。
php
$foo = True; // assign the value TRUE to $foo
?
>
当转换为boolean时,以下值被认为是FALSE:
∙布尔值FALSE
∙整型值0(零)
∙浮点型值0.0(零)
∙空白字符串和字符串"0"
∙没有成员变量的数组
∙特殊类型NULL(包括尚未设定的变量)
注意:
-1和其它非零值(不论正负)一样,被认为是TRUE!
∙integer(整型)
integer为整数型别。
在32位的操作系统中,它的有效范围是-2,147,483,648到+2,147,483,647(2^31+符号位)。
要使用16进位整数可以在面加0x。
整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(-或者+)。
如果用八进制符号,数字前必须加上0(零),用十六进制符号数字前必须加上0x。
php
$a = 1234; // 十进制数
$a = -123; // 一个负数
$a = 0123; // 八进制数(等于十进制的 83)
$a = 0x1A; // 十六进制数(等于十进制的 26)
?
>
∙float(也叫浮点数,双精度数或实数)
浮点数为浮点数型别。
在32位的操作系统中,它的有效范围是1.7E-308到1.7E+308。
(自然底数e=2.71828183)
php
$a = 1.234;
$a = 1.2e3;
$a = 7E-10;
?
>
∙string(字符串)
即为字符串变量,无论是单一字符或数千字的字符串都是使用这个变量类型。
值得注意的是要指定字符串给字符串变量,要在头尾加上双引号(例如:
"这是字符串")。
在要让字符串换行时,可使用溢出字符,也就是反斜线加上指定的符号,若是\x加上二位数字,如\xFE即表十六进位字符,详见下表:
符号
意义
\"
双引号
\\
反斜线
\n
换行回车
\r
送出CR
\t
跳位(TAB)
定义字符串时,只有一种引号被视为定义符,即单引号或双引号。
于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。
这样,你就可以在双引号串中包含任何其他字符,甚至单引号。
下面的引号串都是合法的:
$s="I'mastudent";
$s='Iama“student”';
当PHP遇到与串的开头相对应的引号时,便认为已经到了字符串尾部,于是:
"Whydoesn't"this"work?
"
实际上被PHP语法分析器分成三个部分:
"Whydoesn't"——包含一个单引号的双引号串
this——多余的字符,分析器无法处理
"work?
"——普通字符串
上面的这个例子企图在双引号串中包含双引号,而分析器在遇到第二个双引号时便认为字符串结束了。
要达到包含引号的目的,必须分析器在遇到串内普通引号的时候忽略它的原意,我们在引号的前面加上一个反斜杠来告诉PHP:
这个引号是字符串的一部分,正确的表示方法是这样:
"Whydoesn't\"that\"work?
"
字串可以使用字串连接符(.)来连接,如:
$first_name='A';
$last_name='B';
$full_name=$first_name.''.$last_name;
注意:
$aa=5;
echo$aa.‘test
’;
echo"$aatest
";//在双引号中,变量名称被变量值替代
echo’$aatest
’;;?
>//在单引号中,变量名称或其他的文本都会不经修改而发送给浏览器
两种复合类型:
∙array(数组)
array为数组变量,可以是二维、三维或者多维数组,其中的元素也很自由,可以是string、integer或者double,甚至是array。
可以用array()语言结构来新建一个array。
它接受一定数量用逗号分隔的key=>value参数对。
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
$MyArray1 = array("a", "b", "c", "d");//一维数组
$MyArray2 = array(
"地支" => array("子", "丑", "寅", "卯"),
"生肖" => array("鼠", "牛", "虎", "兔"),
"数字" => array(1, 2, 3, 4)
);//二维数组
php
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?
>
结果:
bar1
php
$MyArray1=array("a","b","c","d");
echo$MyArray1[1];
print_r($MyArray1);
?
>
结果:
b(索引值从0开始)
数据类型强制转换:
php
$foo = 10; // $foo is an integer
$bar = (bool) $foo; // $bar is a boolean
?
>
允许的强制转换有:
∙(int),(integer)-转换成整型
∙(bool),(boolean)-转换成布尔型
∙(float),(double),(real)-转换成浮点型
∙(string)-转换成字符串
∙(array)-转换成数组
∙(object)-转换成对象
可变变量(variablevariable):
php$a='name';
$$a='张三';?
>
这个代码等价于:
$name=张三;
php
$a = "Hello";
$$a = "world";
echo "$a, $hello"; // Hello, world
echo "$a, {$a}"; // 也是 Hello, world
?
>
变量范围(作用域):
作用域是指在一个脚本中某个变量在哪些地方可以使用或可见。
全局变量(globalvariable):
php
$a = 1;$b = 2;
function Sum(){
global $a, $b;
$b = $a + $b;
}
Sum();
echo $b;
?
>输出是’3’
局部变量(localvariable):
任何用于函数内部的变量将被限制在局部函数范围内。
php
$a = 1; /* global scope */
function Test(){
($a=2;)
echo $a; /* reference to local scope variable */
}
Test();
?
>什么也不输出
静态变量(staticvariable):
在函数退出时,这个变量始终存在,不被销毁,但不能被其它函数使用,当再次进入该函数时,将保存上次的结果。
php
// 静态变量的例子
function myfunc() {
static $mystr;
$mystr.="哈";
echo $mystr."
\n";
}
myfunc(); // 哈
myfunc(); // 哈哈
myfunc(); // 哈哈哈
?
>
PHP运算符、提交表单方法、条件语句
使用操作符:
操作符是用来对数值和变量进行某种操作运算的符号。
学过的两个操作符:
赋值操作符(=)和字符串连接操作符(.)。
算数操作符:
例子
名称
结果
-$a
取反
$a的负值。
$a+$b
加法
$a和$b的和。
$a-$b
减法
$a和$b的差。
$a*$b
乘法
$a和$b的积。
$a/$b
除法
$a除以$b的商。
$a%$b
取余数
$a除以$b的余数。
(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。
注:
取模$a%$b在$a为负值时的结果也是负值。
php
$a = 8;
$b = 2;
$c = 3;
echo $a+$b."
\n";
echo $a-$b."
\n";
echo $a*$b."
\n";
echo $a/$b."
\n";
echo $a%$c."
\n";
?
>
注意:
(*)作为乘法操作符,而不是常规的乘法符号。
除法操作符同理。
字符串运算符:
有两个字符串运算符。
第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。
第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
php
$a = "Hello ";
$b = $a . "World!
"; // now $b contains "Hello World!
"
$a = "Hello ";
$a .= "World!
"; // now $a contains "Hello World!
"
?
>
赋值运算符:
基本的赋值运算符是“=”。
一开始可能会以为它是“等于”,其实不是的。
它实际上意味着把右边表达式的值赋给左边的运算数。
赋值运算表达式的值也就是所赋的值。
也就是说,“$a=3”的值是3。
php
$a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。
?
>
括号提高子表达式的优先级
复合赋值操作符:
增加程序的执行效率。
符号
使用方法
等价于
意义
=
$a=$b
$a=$b
将右边的值连到左边
+=
$a+=$b
$a=$a+$b
将右边的值加到左边
-=
$a-=$b
$a=$a-$b
将右边的值减到左边
*=
$a*=$b
$a=$a*$b
将左边的值乘以右边
/=
$a/=$b
$a=$a/$b
将左边的值除以右边
%=
$a%=$b
$a=$a%$b
将左边的值对右边取余数
.=
$a.=$b
$a=$a.$b
将右边的字符串加到左边
php
$a = 5;
$a += 2; // 即 $a = $a + 2;
echo $a."
\n";
$b = "哇";
$b .= "哈"; // $b = "哇哈";
$b .= "哈"; // $b = "哇哈哈";
echo "$b
\n";
?
>
递增/递减运算符:
注:
递增/递减运算符不影响布尔值。
递减NULL值也没有效果,但是递增NULL的结果是1。
注意字符变量只能递增,不能递减。
例子
名称
效果
++$a
前加
$a的值加一,然后返回$a。
$a++
后加
返回$a,然后将$a的值加一。
--$a
前减
$a的值减一,然后返回$a。
$a--
后减
返回$a,然后将$a的值减一。
php
echo "**********";
$a = 5;
echo "a++" . $a++ . "
\n";
echo "a " . $a . "
\n";
echo "**********";
$a = 5;
echo "++a" . ++$a . "
\n";
echo "a" . $a . "
\n";
echo "**********";
$a = 5;
echo "a--" . $a-- . "
\n";
echo "a" . $a . "
\n";
echo "**********";
$a = 5;
echo "--a" . --$a . "
\n";
echo "a" . $a . "
\n";
?
>
比较运算符:
比较两个值。
根据比较结果返回:
true或false。
例子
名称
结果
$a==$b
等于
TRUE,如果$a等于$b。
$a!
=$b
不等
TRUE,如果$a不等于$b。
$a<>$b
不等
TRUE,如果$a不等于$b。
$a<$b
小与
TRUE,如果$a严格小于$b。
$a>$b
大于
TRUE,如果$a严格$b。
$a<=$b
小于等于
TRUE,如果$a小于或者等于$b。
$a>=$b
大于等于
TRUE,如果$a大于或者等于$b。
逻辑运算符:
例子
名称
结果
$aand$b
And(逻辑与)
TRUE,如果$a与$b都为TRUE。
$aor$b
Or(逻辑或)
TRUE,如果$a或$b任一为TRUE。
$axor$b
Xor(逻辑异或)
TRUE,如果$a或$b任一为TRUE,但不同时是。
!
$a
Not(逻辑非)
TRUE,如果$a不为TRUE。
$a&&$b
And(逻辑与)
TRUE,如果$a与$b都为TRUE。
$a||$b
Or(逻辑或)
TRUE,如果$a或$b任一为TRUE。
“与”和“或”有两种不同形式运算符的原因是它们运算的优先级不同
$a=0;
$b=1;
if($aand$b){
echo"真";
}else{
echo"假";
}
?
>
$a="0";
$b="1";
if($aand$b){
echo"真";
}else{
echo"假";
}
?
>
PHP中提交页面的POST和GET方法
在Form里面,可以使用post也可以使用get。
post和get方法在使用上至少有两点不同:
1、Get方法通过URL请求来传递用户的输入。
Post方法通过另外的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 概述