|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
培训的第三阶段,开始接触MYSQL,设计数据库,学习PHP如何去连接MYSQL数据库。对于MYSQL,我并不陌生,因为学校开设了Linux系统的课程,对于数据库的操作。 利用str-replace而不是ereg-replace
习气利用Perl停止编程的法式员加倍情愿利用ereg_replace完成字符串交换任务,由于在PHP中ereg_replace的用法和Perl中形式婚配的用法邻近。然而,上面的这段代码证实,利用str_replace 取代 ereg_replace将可以大大进步代码的运转速度。
测试str_replace和ereg_replace的运转速度
//这段代码测试str_replace的运转速度
emphasis; ?>
for ($i=0; $i<1000; $i++) {
str_replace(i>, b>, $string).
;
}
?>
//这段代码测试ereg_replace的运转速度
for ($i=0; $i<1000; $i++) {
ereg_replace(<([/]*)i>, <\1b>, $string).
;
}
?>
//打印了局
结论
利用str_replace的工夫 -
利用ereg_pattern的工夫 -
运转下面的代码,失掉的了局是:
利用str_replace的工夫 - 0.089757
利用ereg_pattern的工夫 - 0.248881
从运转的了局咱们可以看出利用str_replace替换ereg_replace作为字符串交换函数,极大地进步了代码的运转速度。
3.注重字符串的援用
PHP和其它良多编程言语一样,可使用双引号("")来援用字符串,也能够利用单引号()。然而在PHP中,假如利用双引号来援用字符串,那末PHP解析器将起首剖析字符串中有无对变量的援用,有变量的话,将对变量停止交换。假如是单引号,则没有如斯庞杂??直接将单引号包括起来的一切字符串直接显示出来。明显,在PHP编程中,假如利用单引号援用字符串变量要比利用双引号疾速一些。
4.在数据库中防止利用结合操作
比起其它的Web编程言语来讲,PHP的数据库功效非常壮大。然而在PHP中数据库的运转依然是一件非常费时吃力的工作,所以,作为一个Web法式员,要尽可能削减数据库的查询操作,同时应当为数据库创立恰当的索引。另外一件值得注重的工作是在用PHP操作数据库时,尽量不利用多个数据表的结合操作,虽然结合操作可以加强数据库的查询功效,然而却大大增添了办事器的承当。
为了申明这个成绩,咱们可以看看上面的这个复杂的例子。
咱们在数据库中创立了两个数据表foo和big_foo。在数据表foo中,只要一个字段,包括了从1-1000之间的一切天然数。数据表big_foo一样只要一个字段,但包括了从1-1,000,000之间的全体天然数。所以,从巨细上说,big_foo等于foo与它本身停止了结合操作。
$db->query("select * from foo");
0.032273 secs
$db->next_record();
0.00048999999999999 secs
$db->query("insert into foo values (NULL)");
0.019506 secs
$db->query("select * from foo as a, foo as b");
17.280596 secs
$db->query("select * from foo as a, foo as b where a.id > b.id");
14.645251 secs
$db->query("select * from foo as a, foo as b where a.id = b.id");
0.041269 secs
$db->query("select * from big_foo");
25.393672 secs
从下面操作了局咱们可以发明,关于两个有1000笔记录的数据表停止结合,其速度其实不比对一个1000000条记载的大型数据表独自停止操作快几何。
5.注重include与require的区分
在PHP酿成中,include()与require()的功效不异,但在用法上却有一些分歧,include()是有前提包括函数,而require()则是无前提包括函数。例如鄙人面的一个例子中,假如变量$somgthing为真,则将包括文件somefile:
if($something){
include("somefile");
}
但不论$something取何值,上面的代码将把文件somefile包括进文件里:
if($something){
require("somefile");
}
上面的这个风趣的例子充实申明了这两个函数之间的分歧。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在这段代码中,每次轮回的时分,法式都将把统一个文件包括出来。很明显这不是法式员的初志,从代码中咱们可以看出这段代码但愿在每次轮回时,将分歧的文件包括出去。假如要完成这个功效,必需乞助函数include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}
6.注重echo和print的区分
PHP中echo和print的功效也根基不异,然而二者之间也有纤细不同。在PHP代码中可以把print作为一个通俗函数来利用,例如履行上面的代码后变量$res的值将为1。
$ret = print "Hello World";
这意味着print可用在一些庞杂的表达式中,而echo则不可。一样,在代码中echo语句的运转速度要稍微快于print语句,由于echo语句不请求前往任何数值
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。 |
|