当前位置:首页> PHP教程> PHP精通
关键字
文章内容
php 进阶:活用数组来完成强大的功能
 
 
修改时间:[2008/10/10 08:51]    阅读次数:[1068]    发表者:[起缘]
 
数组在 php 里的运用至少比 C 来的简单,在一般的 php 程序里很少用到数组这个概念,用的较多的是判断,循环和 cookie,但是掌握数组的运用技巧却是很重要,因为它能够使程序的功能更加自动化,让客户在功能强大但操作性能差和功能小巧玲珑但操作性非常方便的程序里选择,我想客户会选择后者.

在介绍数组运用之前,我得在这声明,我在这只是介绍运用数组的思路,即在什么情况下可以运用数组来简化完成任务,其中举的例子也只是提供一个思路,不会面面俱到.

什么时候使用数组,一般在碰到大范围变量传送和处理的情况下考虑用数组来完成.

我用数组完成任务的一个实例:

有一次我为客户写了一个后台管理程序,程序完成后,客户很满意,但过了不久客户就来找我了,并对我说:"我发现里面有很多垃圾信息,我不想保留它们,在删除时,我遇到麻烦了,我不得不每次点'删除'去删除每一条信息你能不能帮我设计一个一次过把全部垃圾删除的功能...";当然我接受了这个任务,因为客户就是上帝.

在开始加入这个功能进管理程序的时候,我考虑用数组来完成它,于是就写了一个流程图:

查找垃圾信息唯一识别字 id -->数组-->对应数组内的 id 删除数据库记录

好了由这个流程图,就可以开始设计程序了,为了使用数组成功传递变量,我使用了提交表挡的 checkbox,具体的写法:

echo "<input type=checkbox name=delete[$id] value='y'>";

这样我就将垃圾信息的 id 与数组下标对应的空间附值,这样就可以对数据库进行实质操作了,下面来看看数组被传到删除功能块时是如何完成任务的;

//首先查找数据库所有记录的 id:
.....
for ($i=0;$i<$num;$i++) {
$id=mysql_result($result,$i,"id");
//判断数组
if (!empty($delete[$id])) {
//执行删除命令
mysql_query("delete from table where id=$id");
}
}
......

一个自动化的删除功能完成了,用数组还可完成很多不同的任务如:随机更新图片,对比等等...

活用数组可以完成一些看上去很难完成的任务