来,让高手回忆一下,温故而知新.让新手了解一下.强大是从一点一滴做起的.
时间:2005-04-05
来源:互联网
学习的时候,有写笔记的习惯,在电脑上看文档同样也是这样...这不.以胆得到的.现在得到的....我们应该掌握的..应该有所闻的东东..我都记录了下来.....也许.对许多高手是小菜...但这小菜中..你指不定疏忽了哪个环节呢....菜鸟们..就好好的读吧...你总会体会到她的好处的.
_______________________________
正文.
++++++++++++++++++++++++++++++++++++++++++++++++++++++
`GNU:是一种发布免费软件的方法.在符合GNU条件的许可下.源码可以发布.而且任何人可以使用.
PHP支持INTERNET上的通讯协议包括:电子邮件相关的IMAP和POP3,简单网络管理协议SNMP,网络新闻协议NNTP,账号共用协议NIS和超文本传输协议HTTP等.
tar命令的可选项中:X表示解压缩;Z表示采用ZIP压缩;V表示显示文件名;F表示从后面列出的文件名得到的处理文件.
CONFIG命令最前面的./代表当前目录.
/*
*/注释方式不能嵌套
单引号字符串的内容一般表示做任何扩展.
SETTYPE()函数可以强行指定变量的数据类型号.
\N 换行符
\R 回车符
\T水平制表符
\$美圆符号
获取有关变量类型信息的函数
GETTYPE() IS_LONG() IS_DOUBLE IS_STRING() IS_ARRAY() IS_OBJECT()
\\ 反斜杠(\)
\" 双引号
单引号不能解释字符串中的变量,双引号可以解释字符串中的变量
PHP使用反引号字符串来运行系统命令,当PHP遇到反引号字符串时,它将字符串中数值
传递给WINDOWS.UNIX或者LINUX操作系统,然后将命令的输出结果传递给浏览器..
索引数组和关联数组的形式可以在同一个数组中混合使用.
PHP对于大小写是敏感的.
PHP中的引用赋值是通过在原变量前加一个"&"符号来实现的,而且被引用的对象只能是有名字的变量.
STATIC指定变量为静态变量.
动态变量允许一个变量的值作为另一个变量的名字.
<?php
$lang='php';
echo"${lang}是一门优秀的脚本语言";
?>
实数强制转换为数组时,该实数将成为数组的第一个元素.可以用下标0进行访问
<?php
$var=3.14;
$var1=(int)$var;
echo $var;
echo '<br>';
echo gettype($var);
echo '<br>';
echo $var1;
echo '<br>';
echo gettype($var1);
$var=3.14;
$var1=(array)$var;
echo '<br>';
echo $var;
echo '<br>';
echo gettype($var);
echo '<br>';
echo gettype($var1);
echo '<br>';
echo $var1[0];
//使用函数settype()转换变量类型
$var=3;
settype($var,"double");
echo '<br>';
echo $var;
echo '<br>';
echo gettype($var);
?>
将PHP.INI中的TRACK_VARS参数值设为ON,那么通过POST或GET
方法提交的变量会相应的出现在全局数组$HTTP_POST_VARS[]和
$HTTP_GET_VARS[]中,利用这两个数组获得变量值时,可以用变量名做索引,也可以使用EACH
得到每个变量的数值和名字.
PHP中允许使用的强制数型转换符号一共有五类.
(INT)(INTEGER)转换为整数类型
(REAL)(FLOAT)(DOUBLE)转换为浮点数.
(STRING)转换为字符串.
(ARRAY)转换为数组.
(OBJECT)转换为对象.
当HTML中的表单使用GET或POST提交(SUBMIT)给PHP脚本时,PHP能够获得表单中
包含的所有变量.并转变为PHP可用的格式.
通过GET.POST和COOKIE机制传递的数据也能够自动的创建PHP变量.这些变量的名字有可
和某个环境变量相同,为了在这种情况下也能下确的得到环境变量,应该调用GETENV函数
来读取环境变量.
常量一般在程序的开始部分定义.
使用DEFINE()函数可以定义程序中所需的常量.常量的值可以是数值或者字符串
只有有效的标题数据才可以由常量来表示.
PHP预先定义的常量.
_FILE_:当前正在被解释的脚本文件名.
_LINE_:当前正在被解释的语句在脚本文件中的位置.
PHP_VERSION:当前正在使用的PHP解释器的版本号.
PHP_OS:执行该PHP解释哭的操作系统名称.
TRUE:真值.
FALSE:假值.
E_ERROR:标志一个运行时不可恢复的错误.
E_WARNING:标志一个PHP已经辨别出来的,但仍可继续执行下去的错误.这类错误能够
被脚本捕获.
E_PARSE:标志一个不可恢复的语法错误,PHP语法分析器停止分析.
E_NOTICE:标志当前发生的一些情况,可能是错误,也可能不是错误,程序继续执行下去.
E_ERROR,E_WARNING,E_PARSE,E_NOTICE分别代表不同级别的错误或者警告信息.它们常
被用在ERROR_REPORLING()函数中用于设置错误的报告级别.
关系型操作符:
==:等于,
===:等于且数据类型相同.
!=:不等于.
<:小于.
>:大于,
<=:小于等于.
>=:大于等于.
<>:不等于.
其它操作符:
++,加一.
--,减一.
$,用于说明一个变量.
&,取变量的指针.(放在变量前)
@,不显示错误信息(放在函数前)
->,对象的方法或者属性
=>,数组的元素值
?:,三无运算符
break语句和CONTINUE语句的差别在于:BREAK语句结束整个循环语句,而CONTINUE语句
只结束当前的重复操作.
REQUIRE()语句通常放在PHP脚本的最前面,PHP脚本在正式执行前,就会先引入REQUIRE
语句所指定的文件,将它变成PHP脚本的一部分.一个REQUIRE语句只能执行一次引入目标
文件的操作.即使把它放在循环结构中,该语句也不会多次引入目标文件,
不管REQUIRE语句在程序中会不会执行,引入目标文件的动作都会发生,只不过.
如果REQUIRE语句不被执行,那么目标文件的代码也不会被执行.
INCLUDE语句一般放在流程控制结构中,PHP解释器每次在执行INCLUDE语句时都会进行一次
引入目标文件的操作, 如果INCLUDE语句没有被执行,那么相应的文件就不会被引入.利用
INCLUDE语句的这一特点,可以在循环结构中使用该语句来引入一系列不同的文件.
COUNT(),计算变量或数组中元素的个数.
<?php
$file=array("php_1.php","php_2.php","php_3.php");
for($i=0;$i<count($file);$i++)
{
include($file[$i]);
}
?>
使用FUNC_NUM_ARGS().FUNC_GET_ARG().FUNC_GET_ARGS()三个函数,可以获得函数调用
时传递给函数的参数个数和数值.
值传递机制,即使在函数内部形式参数发生了交换,也不会对函数外的实际参数产生任何的影响.
采用引用传递时需要在定义函数时在能数名前加上"&"号.
采用引用传递机制时,在函数内部形式参数发生了交换,会相应的对函数外的实际参数,
产生同样的作用.
如果一个函数在定义时采用的是值传递机制,但在调用时却需要使用引用传递,可以通过在.
实际参数前添加地址符号(&)来实现.
默认值必须是常量表达式,不能是变量或类成员.如果函数带有多个参数,可以为多个
参数同时指定默认值.要注意的是,赋予默认值的参数总是应该放在参数列表的最后
几个位置.
在PHP中,具有默认值的形式参数的位置要受到一定的限制,其原因是为了避免在函数
调用时产生二义性.
在PHP中定义函数时,如果为一个形式参数指定了默认值,那么该参数的右边就不能出现
没有默认值的形式参数.即指定了默认值的参数只能出现在没有指定默认值的形式参数
的右边.
每一个PHP函数都可以通过可选的RETURN语句从函数中返回一个值,返回值可以是任何数
据类型,包括数组和对象.
函数LIST()的作用是将一组变量当作数组一次赋值,利用PHP提供的LIST()函数,可以.
将返回数组中各个元素的值赋给指定的变量.
嵌套,一个函数中可以调用另一个函数.
使用函数嵌套最大的优点是可以将程序分成多个模块,每个模块都可以单独设计,嵌套调用
自己的函数叫做递归函数.
PHP提供了可变函数的机制,当某个函数名相同时,可以用该变量代替函数名来调用相应的
函数.
<?php
function action1()
{
echo "<p>此时调用的是action1()函数</p>";
}
function action2()
{
echo "<p>此时调用的是action2()函数</p>";
}
$name="action1";
$name();
$name="action2";
$name();
?>
在面向对象的程序设计中,类提供了一种在程序中以现实生活的习惯来思考问题的方法。
在面向对象的程序设计中,类名的第一个字母通常要大写,
在定义类时,包含花括号之间的部分被称为类体,类体一般由成员变量和成员函数
两部分组成。在类中可以定义多个成员变量,也可以一个都不定义。
在成员函数中引用该函数所在的类的成员变量时,变量名前不需要加$号。
$THIS可以在当前对象内部指出对象本身,它实际上是当前对象的引用,因此应该使用
"->"符号来访问成员变量或者函数.
类实际上是一种新的数据类型,在生成自定义变量时,应该使用NEW操作符,其基本语法
格式为
PEOPLE= NEW CLASSNAME;
一个设计良好的面向对象的程序,一般都只通过成员函数来完成对成员变量的操作.
PHP目前还不支持多重继承,所以不能从两个或两个以上的基类派生出新的类来.
PHP支持类的继承,在类的继承关系中,被继承的基类一般包含几种子类的公共特性,而
子类则除了保持基类的属性和方法外,还具有本身特有的属性和方法.
PHP中的一个类可以从其它的类派生出来,这时就需要用到关键字EXTENDS.派生类将自
动获得基类所有的成员变量和函数.此外还可以有自己定义的成员变量或成员函数.
利用类的继承性.可以从已经定义过的类中派生出一个新的类.
<?php
include("php_47.php");
class Goone extends Goon
{
var $phone;
function setPhone($phone)
{
$this->phone=$phone;
}
}
?>
在面向对象的程序设计中,子类通过对父类的继承,可以具有和父类同样的属性和行为,
这对于软件重用来说是很重要的.
在子类中可以对父类中已经存在的函数重新进行定义,这种情况在面向对象的程序设计
中被称为覆盖.
通常只有当父类中的方法不能满足子类的需要时,才在子类中对该方法进行重定义,以覆盖父类中的相应方法.
利用继承可以在PHP中实现面向对象的多态性,当从同一个基类派生的不同子类具有相同的方法时,PHP根据参数类型
来息动决定调用哪个类的方法.
构造函数是一个与类名同名的函数,该函数在创建一个类的实例时被自动调用,常常
被用来对成员变量进行初始化.
当一个派生类的对象被创建时,只有它的构造函数被调用,父类的构造函数并不会被
调用,如果确实需要用到父类的构造函数.必须在子类的构靠函数中显示调用,所有父类
中的函数都是可用的.包括构造函数.
设计者通常使用抽象类来强迫程序员从基类派生所需的子类.这样可以确保新的类包含
一些期待的功能.
在面向对象的程序设计中,抽象类是一个很重要的机制.所谓抽象类,指的是不能被实例
化的类.也就是说在程序中不能用NEW操作符来生成抽象类的具体对象.抽象类的用只是
作为一个公共接口提供给子类继承.在PHP中没有定义抽象类的标准方法.但如果确实
需要用到抽象类.可以在该类的构造函数后加上DIE语句.这样就可以保证基类是不可实
例化的.在类中的成员函数后加上DIE语句.也可以强迫程序员在派生类中覆盖该函数
否则PHP将引发一个相应的错误.
PHP提供的DIE()函数用于送出字符串到浏览器,并中断PHP程序的执行,另一个用于结束
PHP程序的函数是EXIT().
MYSQL是典型的关系数据库管理系统(RDBMS),采用标准的结构化查询语言(SQL)对数
据库进行操作,SQL是当今数据库语言的国际标准,目前主要的数据库系统都使用SQL
语言作为基本的数据操纵语言.
MYSQL中的数据类型可分为数值,字符串,日期和时间,NULL四种.
NUL字符与NULL并不相同,NUL为一个值为零的字符,而NULL则表示没有值.
MYSQL中,可以使用DATA_FORMAT()函数以任意形式显示日期值,默认的显示格式是按照年.
月.日.的顺序.
NULL,在MYSQL中,NULL是一种"无类型"的值,表示没有任何值.NULL是一个特殊的值,它"0"
空字符串("")等并不是一回事.可以将NULL值插入表中,从表中检索它们.测试某个值
是否为NULL,但对NULL值进行运算是没有任何意义的.因为其结果只能为NULL.
CREATE_TABLE为数据库创建一个表.但必须为表中的每一个列指定一个类型.
列的类型精确地描述了给它表列可能包含的值的种类,MYSQL为除NULL值以外的所有通用
数据的值都提供了列类型.NULL类型则被视为一个NULL值或者NULL属性.所有的其它列类
型都可以取NULL值或属性.
字符串类型VARCHAR.BLOB和TEXT类型都是变长类型.其所需的存储空间取决于列值的实际长度.
而不是取决于该类型的最大可以尺寸.
如果所有字符串的值在长度上变化不大.则CHAR是一种比VARCHAR好的选择.因为处理
行长度固定的表格比处理行长度可变的表格效率要高.
BLOB类型和TEXT类型的差别只在于数据的比较和排序.对于BLOB值的比较和排序是要区
分大小写的.而TEXT值则是不区分大小写的.
BLOB和TEXT值的变化范围很大,如果经常进行更新和删除操作.则存储它们的表会出现
碎片过高的现象.因此需要定期清理碎片以保持良好性能.
FOREACH语句是循环处理数组的一种方便的方式.
<?php
$aarray=array("red","green","blue");
foreach($aarray as $avalue)
{
echo "yy dd ss ll aa zz kk$avalue<br>";
}
$acolorarray=array("red"=>"#ff0000",
"green"=>"#00ff00",
"blue"=>"#0000ff");
foreach($acolorarray as $akey=>$avalue)
{
echo "ss tt mm $avalue<br>";
}
?>
DATE 年月日.
DATATIME 年月日.时分秒.
TIME 时分秒.
YEAR 年.
CREATE DATABASE,创建一个数据库.
DROP DATABASE,删除一个数据库.
USE DATABASE,选择默认数据库.
在MYSQL中,CREATE TABLE ,DROP TABLE和ALTER TABLE语句分别用于创建表.删除表或者
更改表的结构.
用CREATE TEMPORARY TABLE可以创建临时表,临时表是一类很特殊的表,这些表在客户机与MYSQL
服务器结束会话时会被自动删除,而不必使用DROP TABLE语句明确地删除这些.即便
会话不能正常结束.这些表也会被MYSQL服务器正确删除,因此临时表用起来相当方便.
事先无法确定要用的表是否已经存在,如果使用普通的CREATE TABLE语句,当该表已经
存在时,程序在执行该语句时会出错并停止运行,解决这一问题的办法是使用CREATE
TABLE IF NOT EXIST语句,在用该语句创建一个已经存在的表时,创建表的操作将失
败.但语句执行过程中并不产生错误,因而程序可以继续执行.
PRIMARY KEY将该列指定为表的主键.
主键可以用来区分表中不同的记录,因而定义为主建的列,其所有的列值必需
互异,MYSQL会自动定义为主键的列建立索引,经加速对这一列的查询.
在创建表时,用KEY.INDEX.UIQUE子句还可以为表建立索引.有时出于执行效率
的考虑,需要为指定列的前若干个字节建立索引而不是整个列.这可以通过建立索引时
在列名后而加上N来实理,其中N为指定的字节数.
MYSQL_CREATE_DB,创建一个数据库.
MYSQL_DROP_DB,删除一个数据库.
在PHP脚本中,调用对MYSQL数据库进行操作的函数时,如果操作失败,则可以调用MYSQL_
ERROR()函数获取相应的错误作息.
mysql_list_fields()函数用于获取指定数据库中特定表的结构信息.三个参数分别为.
数据库名,表名和连接标识符.
<?php
$db=mysql_connect('localhost','root','') or die("与数据库链接失败<br>\n");
$result=mysql_list_fields("goon","user") or die("获取表结构时失败<br>\n");
echo "以下是user表结构的信息.<br>\n";
for($i=0;$i < mysql_num_fields($result);$i++)
{
printf("第%d列",$i+1);
printf("name %s,\n",mysql_field_name($result,$i));
printf("len %d,\n",mysql_field_len($result,$i));
printf("type %s,\n",mysql_field_type($result,$i));
printf("flags %s,\n",mysql_field_flags($result,$i));
echo "<br>";
}
mysql_close();
?>
函数MYSQL_FETCH_ROW()返回一个代表结果集中下一行数据的数组.
函数MYSQL_NUM_ROWS()返回指定结果集中数据的行数.
函数MYSQL_TABLENAME()用于从返回的数据库信息中获取数据库的名称.
MYSQL_LIST_DBS()函数用于获取当前系统中所有数据库的描述信息.
_______________________________
正文.
++++++++++++++++++++++++++++++++++++++++++++++++++++++
`GNU:是一种发布免费软件的方法.在符合GNU条件的许可下.源码可以发布.而且任何人可以使用.
PHP支持INTERNET上的通讯协议包括:电子邮件相关的IMAP和POP3,简单网络管理协议SNMP,网络新闻协议NNTP,账号共用协议NIS和超文本传输协议HTTP等.
tar命令的可选项中:X表示解压缩;Z表示采用ZIP压缩;V表示显示文件名;F表示从后面列出的文件名得到的处理文件.
CONFIG命令最前面的./代表当前目录.
/*
*/注释方式不能嵌套
单引号字符串的内容一般表示做任何扩展.
SETTYPE()函数可以强行指定变量的数据类型号.
\N 换行符
\R 回车符
\T水平制表符
\$美圆符号
获取有关变量类型信息的函数
GETTYPE() IS_LONG() IS_DOUBLE IS_STRING() IS_ARRAY() IS_OBJECT()
\\ 反斜杠(\)
\" 双引号
单引号不能解释字符串中的变量,双引号可以解释字符串中的变量
PHP使用反引号字符串来运行系统命令,当PHP遇到反引号字符串时,它将字符串中数值
传递给WINDOWS.UNIX或者LINUX操作系统,然后将命令的输出结果传递给浏览器..
索引数组和关联数组的形式可以在同一个数组中混合使用.
PHP对于大小写是敏感的.
PHP中的引用赋值是通过在原变量前加一个"&"符号来实现的,而且被引用的对象只能是有名字的变量.
STATIC指定变量为静态变量.
动态变量允许一个变量的值作为另一个变量的名字.
<?php
$lang='php';
echo"${lang}是一门优秀的脚本语言";
?>
实数强制转换为数组时,该实数将成为数组的第一个元素.可以用下标0进行访问
<?php
$var=3.14;
$var1=(int)$var;
echo $var;
echo '<br>';
echo gettype($var);
echo '<br>';
echo $var1;
echo '<br>';
echo gettype($var1);
$var=3.14;
$var1=(array)$var;
echo '<br>';
echo $var;
echo '<br>';
echo gettype($var);
echo '<br>';
echo gettype($var1);
echo '<br>';
echo $var1[0];
//使用函数settype()转换变量类型
$var=3;
settype($var,"double");
echo '<br>';
echo $var;
echo '<br>';
echo gettype($var);
?>
将PHP.INI中的TRACK_VARS参数值设为ON,那么通过POST或GET
方法提交的变量会相应的出现在全局数组$HTTP_POST_VARS[]和
$HTTP_GET_VARS[]中,利用这两个数组获得变量值时,可以用变量名做索引,也可以使用EACH
得到每个变量的数值和名字.
PHP中允许使用的强制数型转换符号一共有五类.
(INT)(INTEGER)转换为整数类型
(REAL)(FLOAT)(DOUBLE)转换为浮点数.
(STRING)转换为字符串.
(ARRAY)转换为数组.
(OBJECT)转换为对象.
当HTML中的表单使用GET或POST提交(SUBMIT)给PHP脚本时,PHP能够获得表单中
包含的所有变量.并转变为PHP可用的格式.
通过GET.POST和COOKIE机制传递的数据也能够自动的创建PHP变量.这些变量的名字有可
和某个环境变量相同,为了在这种情况下也能下确的得到环境变量,应该调用GETENV函数
来读取环境变量.
常量一般在程序的开始部分定义.
使用DEFINE()函数可以定义程序中所需的常量.常量的值可以是数值或者字符串
只有有效的标题数据才可以由常量来表示.
PHP预先定义的常量.
_FILE_:当前正在被解释的脚本文件名.
_LINE_:当前正在被解释的语句在脚本文件中的位置.
PHP_VERSION:当前正在使用的PHP解释器的版本号.
PHP_OS:执行该PHP解释哭的操作系统名称.
TRUE:真值.
FALSE:假值.
E_ERROR:标志一个运行时不可恢复的错误.
E_WARNING:标志一个PHP已经辨别出来的,但仍可继续执行下去的错误.这类错误能够
被脚本捕获.
E_PARSE:标志一个不可恢复的语法错误,PHP语法分析器停止分析.
E_NOTICE:标志当前发生的一些情况,可能是错误,也可能不是错误,程序继续执行下去.
E_ERROR,E_WARNING,E_PARSE,E_NOTICE分别代表不同级别的错误或者警告信息.它们常
被用在ERROR_REPORLING()函数中用于设置错误的报告级别.
关系型操作符:
==:等于,
===:等于且数据类型相同.
!=:不等于.
<:小于.
>:大于,
<=:小于等于.
>=:大于等于.
<>:不等于.
其它操作符:
++,加一.
--,减一.
$,用于说明一个变量.
&,取变量的指针.(放在变量前)
@,不显示错误信息(放在函数前)
->,对象的方法或者属性
=>,数组的元素值
?:,三无运算符
break语句和CONTINUE语句的差别在于:BREAK语句结束整个循环语句,而CONTINUE语句
只结束当前的重复操作.
REQUIRE()语句通常放在PHP脚本的最前面,PHP脚本在正式执行前,就会先引入REQUIRE
语句所指定的文件,将它变成PHP脚本的一部分.一个REQUIRE语句只能执行一次引入目标
文件的操作.即使把它放在循环结构中,该语句也不会多次引入目标文件,
不管REQUIRE语句在程序中会不会执行,引入目标文件的动作都会发生,只不过.
如果REQUIRE语句不被执行,那么目标文件的代码也不会被执行.
INCLUDE语句一般放在流程控制结构中,PHP解释器每次在执行INCLUDE语句时都会进行一次
引入目标文件的操作, 如果INCLUDE语句没有被执行,那么相应的文件就不会被引入.利用
INCLUDE语句的这一特点,可以在循环结构中使用该语句来引入一系列不同的文件.
COUNT(),计算变量或数组中元素的个数.
<?php
$file=array("php_1.php","php_2.php","php_3.php");
for($i=0;$i<count($file);$i++)
{
include($file[$i]);
}
?>
使用FUNC_NUM_ARGS().FUNC_GET_ARG().FUNC_GET_ARGS()三个函数,可以获得函数调用
时传递给函数的参数个数和数值.
值传递机制,即使在函数内部形式参数发生了交换,也不会对函数外的实际参数产生任何的影响.
采用引用传递时需要在定义函数时在能数名前加上"&"号.
采用引用传递机制时,在函数内部形式参数发生了交换,会相应的对函数外的实际参数,
产生同样的作用.
如果一个函数在定义时采用的是值传递机制,但在调用时却需要使用引用传递,可以通过在.
实际参数前添加地址符号(&)来实现.
默认值必须是常量表达式,不能是变量或类成员.如果函数带有多个参数,可以为多个
参数同时指定默认值.要注意的是,赋予默认值的参数总是应该放在参数列表的最后
几个位置.
在PHP中,具有默认值的形式参数的位置要受到一定的限制,其原因是为了避免在函数
调用时产生二义性.
在PHP中定义函数时,如果为一个形式参数指定了默认值,那么该参数的右边就不能出现
没有默认值的形式参数.即指定了默认值的参数只能出现在没有指定默认值的形式参数
的右边.
每一个PHP函数都可以通过可选的RETURN语句从函数中返回一个值,返回值可以是任何数
据类型,包括数组和对象.
函数LIST()的作用是将一组变量当作数组一次赋值,利用PHP提供的LIST()函数,可以.
将返回数组中各个元素的值赋给指定的变量.
嵌套,一个函数中可以调用另一个函数.
使用函数嵌套最大的优点是可以将程序分成多个模块,每个模块都可以单独设计,嵌套调用
自己的函数叫做递归函数.
PHP提供了可变函数的机制,当某个函数名相同时,可以用该变量代替函数名来调用相应的
函数.
<?php
function action1()
{
echo "<p>此时调用的是action1()函数</p>";
}
function action2()
{
echo "<p>此时调用的是action2()函数</p>";
}
$name="action1";
$name();
$name="action2";
$name();
?>
在面向对象的程序设计中,类提供了一种在程序中以现实生活的习惯来思考问题的方法。
在面向对象的程序设计中,类名的第一个字母通常要大写,
在定义类时,包含花括号之间的部分被称为类体,类体一般由成员变量和成员函数
两部分组成。在类中可以定义多个成员变量,也可以一个都不定义。
在成员函数中引用该函数所在的类的成员变量时,变量名前不需要加$号。
$THIS可以在当前对象内部指出对象本身,它实际上是当前对象的引用,因此应该使用
"->"符号来访问成员变量或者函数.
类实际上是一种新的数据类型,在生成自定义变量时,应该使用NEW操作符,其基本语法
格式为

一个设计良好的面向对象的程序,一般都只通过成员函数来完成对成员变量的操作.
PHP目前还不支持多重继承,所以不能从两个或两个以上的基类派生出新的类来.
PHP支持类的继承,在类的继承关系中,被继承的基类一般包含几种子类的公共特性,而
子类则除了保持基类的属性和方法外,还具有本身特有的属性和方法.
PHP中的一个类可以从其它的类派生出来,这时就需要用到关键字EXTENDS.派生类将自
动获得基类所有的成员变量和函数.此外还可以有自己定义的成员变量或成员函数.
利用类的继承性.可以从已经定义过的类中派生出一个新的类.
<?php
include("php_47.php");
class Goone extends Goon
{
var $phone;
function setPhone($phone)
{
$this->phone=$phone;
}
}
?>
在面向对象的程序设计中,子类通过对父类的继承,可以具有和父类同样的属性和行为,
这对于软件重用来说是很重要的.
在子类中可以对父类中已经存在的函数重新进行定义,这种情况在面向对象的程序设计
中被称为覆盖.
通常只有当父类中的方法不能满足子类的需要时,才在子类中对该方法进行重定义,以覆盖父类中的相应方法.
利用继承可以在PHP中实现面向对象的多态性,当从同一个基类派生的不同子类具有相同的方法时,PHP根据参数类型
来息动决定调用哪个类的方法.
构造函数是一个与类名同名的函数,该函数在创建一个类的实例时被自动调用,常常
被用来对成员变量进行初始化.
当一个派生类的对象被创建时,只有它的构造函数被调用,父类的构造函数并不会被
调用,如果确实需要用到父类的构造函数.必须在子类的构靠函数中显示调用,所有父类
中的函数都是可用的.包括构造函数.
设计者通常使用抽象类来强迫程序员从基类派生所需的子类.这样可以确保新的类包含
一些期待的功能.
在面向对象的程序设计中,抽象类是一个很重要的机制.所谓抽象类,指的是不能被实例
化的类.也就是说在程序中不能用NEW操作符来生成抽象类的具体对象.抽象类的用只是
作为一个公共接口提供给子类继承.在PHP中没有定义抽象类的标准方法.但如果确实
需要用到抽象类.可以在该类的构造函数后加上DIE语句.这样就可以保证基类是不可实
例化的.在类中的成员函数后加上DIE语句.也可以强迫程序员在派生类中覆盖该函数
否则PHP将引发一个相应的错误.
PHP提供的DIE()函数用于送出字符串到浏览器,并中断PHP程序的执行,另一个用于结束
PHP程序的函数是EXIT().
MYSQL是典型的关系数据库管理系统(RDBMS),采用标准的结构化查询语言(SQL)对数
据库进行操作,SQL是当今数据库语言的国际标准,目前主要的数据库系统都使用SQL
语言作为基本的数据操纵语言.
MYSQL中的数据类型可分为数值,字符串,日期和时间,NULL四种.
NUL字符与NULL并不相同,NUL为一个值为零的字符,而NULL则表示没有值.
MYSQL中,可以使用DATA_FORMAT()函数以任意形式显示日期值,默认的显示格式是按照年.
月.日.的顺序.
NULL,在MYSQL中,NULL是一种"无类型"的值,表示没有任何值.NULL是一个特殊的值,它"0"
空字符串("")等并不是一回事.可以将NULL值插入表中,从表中检索它们.测试某个值
是否为NULL,但对NULL值进行运算是没有任何意义的.因为其结果只能为NULL.
CREATE_TABLE为数据库创建一个表.但必须为表中的每一个列指定一个类型.
列的类型精确地描述了给它表列可能包含的值的种类,MYSQL为除NULL值以外的所有通用
数据的值都提供了列类型.NULL类型则被视为一个NULL值或者NULL属性.所有的其它列类
型都可以取NULL值或属性.
字符串类型VARCHAR.BLOB和TEXT类型都是变长类型.其所需的存储空间取决于列值的实际长度.
而不是取决于该类型的最大可以尺寸.
如果所有字符串的值在长度上变化不大.则CHAR是一种比VARCHAR好的选择.因为处理
行长度固定的表格比处理行长度可变的表格效率要高.
BLOB类型和TEXT类型的差别只在于数据的比较和排序.对于BLOB值的比较和排序是要区
分大小写的.而TEXT值则是不区分大小写的.
BLOB和TEXT值的变化范围很大,如果经常进行更新和删除操作.则存储它们的表会出现
碎片过高的现象.因此需要定期清理碎片以保持良好性能.
FOREACH语句是循环处理数组的一种方便的方式.
<?php
$aarray=array("red","green","blue");
foreach($aarray as $avalue)
{
echo "yy dd ss ll aa zz kk$avalue<br>";
}
$acolorarray=array("red"=>"#ff0000",
"green"=>"#00ff00",
"blue"=>"#0000ff");
foreach($acolorarray as $akey=>$avalue)
{
echo "ss tt mm $avalue<br>";
}
?>
DATE 年月日.
DATATIME 年月日.时分秒.
TIME 时分秒.
YEAR 年.
CREATE DATABASE,创建一个数据库.
DROP DATABASE,删除一个数据库.
USE DATABASE,选择默认数据库.
在MYSQL中,CREATE TABLE ,DROP TABLE和ALTER TABLE语句分别用于创建表.删除表或者
更改表的结构.
用CREATE TEMPORARY TABLE可以创建临时表,临时表是一类很特殊的表,这些表在客户机与MYSQL
服务器结束会话时会被自动删除,而不必使用DROP TABLE语句明确地删除这些.即便
会话不能正常结束.这些表也会被MYSQL服务器正确删除,因此临时表用起来相当方便.
事先无法确定要用的表是否已经存在,如果使用普通的CREATE TABLE语句,当该表已经
存在时,程序在执行该语句时会出错并停止运行,解决这一问题的办法是使用CREATE
TABLE IF NOT EXIST语句,在用该语句创建一个已经存在的表时,创建表的操作将失
败.但语句执行过程中并不产生错误,因而程序可以继续执行.
PRIMARY KEY将该列指定为表的主键.
主键可以用来区分表中不同的记录,因而定义为主建的列,其所有的列值必需
互异,MYSQL会自动定义为主键的列建立索引,经加速对这一列的查询.
在创建表时,用KEY.INDEX.UIQUE子句还可以为表建立索引.有时出于执行效率
的考虑,需要为指定列的前若干个字节建立索引而不是整个列.这可以通过建立索引时
在列名后而加上N来实理,其中N为指定的字节数.
MYSQL_CREATE_DB,创建一个数据库.
MYSQL_DROP_DB,删除一个数据库.
在PHP脚本中,调用对MYSQL数据库进行操作的函数时,如果操作失败,则可以调用MYSQL_
ERROR()函数获取相应的错误作息.
mysql_list_fields()函数用于获取指定数据库中特定表的结构信息.三个参数分别为.
数据库名,表名和连接标识符.
<?php
$db=mysql_connect('localhost','root','') or die("与数据库链接失败<br>\n");
$result=mysql_list_fields("goon","user") or die("获取表结构时失败<br>\n");
echo "以下是user表结构的信息.<br>\n";
for($i=0;$i < mysql_num_fields($result);$i++)
{
printf("第%d列",$i+1);
printf("name %s,\n",mysql_field_name($result,$i));
printf("len %d,\n",mysql_field_len($result,$i));
printf("type %s,\n",mysql_field_type($result,$i));
printf("flags %s,\n",mysql_field_flags($result,$i));
echo "<br>";
}
mysql_close();
?>
函数MYSQL_FETCH_ROW()返回一个代表结果集中下一行数据的数组.
函数MYSQL_NUM_ROWS()返回指定结果集中数据的行数.
函数MYSQL_TABLENAME()用于从返回的数据库信息中获取数据库的名称.
MYSQL_LIST_DBS()函数用于获取当前系统中所有数据库的描述信息.
作者: googniao 发布时间: 2005-04-04
手册上都有啊.
精神可嘉
精神可嘉
作者: ALPS 发布时间: 2005-04-05
不错啊。。。。温故知新啊!(呵呵~偶是新手!)
作者: ado0105 发布时间: 2005-04-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28