当前位置: 首页 > 当代诗歌 > 文章

用 PHP 开发健壮的代码(二)有效地使用变量-经典文章-PHP教程-幽默笑话

2019-07-08

用 PHP 开发健壮的代码(二)有效地使用变量-经典文章-PHP教程-幽默笑话

php/*Thisisthefunctionwheretheactiontakesplace*/functionchk_file_name($name,$path="."){$fileList=get_file_list($path);foreach($fileListas$file){if(eregi($name,$file)){return$file;}}returnfalse;}/**/functionget_file_list($dirName="."){$list=array();$handle=opendir($dirName);while(false!==($file=readdir($handle))){/*Omitthe.andthe..directories.*/if((".."==$file)||("."==$file))continue;array_push($list,$file);}closedir($handle);return$list;}>我不打算对中各个函数的功能加以说明,相反,我鼓励您查阅PHP手册(请参阅)。 当您使用不熟悉的函数时,假设的参数与返回值的类型会是另一个错误根源。

我没有对PHP中的内置函数加以说明,而是打算说明一些不太一目了然的事情。 当终止条件中涉及不同的变量类型时,通过使用===和!==运算符进行强类型检查是很重要的。 由各部分组成的代码我本来可以将整个脚本编写为一个函数,但这里我却把代码分割成两个函数。

还记得前一篇文章中的“分而治之”规则吗?我这么做正是因为每个函数所起的作用不同。

如果您用其它脚本获取某个目录的内容,那么现在就可以使用方便的实现。 我希望您考虑一些事情:想象一下将整个脚本作为一个函数来实现,然后想象调试、测试和重用代码所需的工作。 正确使用循环现在看看foreach循环,想想为什么不用for循环?使用for循环要求您知道数组中项的数目—需要一个额外的步骤。 此外,在处理PHP数组时,有可能超出数组边界。 也就是说,在数组只有10个元素时,试图访问它的第15个元素。

PHP的确会给出一个小警告,但据我所知,在一些情况下,当反复运行某个脚本时,CPU活动率会突然上升到100%而服务器性能则连续下降。 我建议您尽可能地避免使用for循环。

断言性的if最后,我希望您研究一下那个在get_file_list()函数中用于忽略.和..目录的较大的if条件。 显然,我可以采用传统的方法,根据常数来检查变量。 但在我自己的许多编码昏招中,我经常会遗漏等号并且在以后找不到哪里出了问题。 当然,PHP不会报错,因为它认为我想进行赋值而不是比较。 当您根据变量来比较常数并且又遗漏了一个等号时,PHP会抛出错误消息。 现在来讨论一些奇妙的事情。 作为新手的开发人员认为,使用可变变量来完成任务是一种令人费解的方法,所以常常回避它。

实际上,很容易理解和使用可变变量。

它们已经不止一次地帮我摆脱困境,而且它们是一种重要的语言元素。 事实上,在有些情况下,使用可变变量在所难免。 很快我将研究一种此类现实情况,但首先让我们看看可变变量到底是什么。

让我们先尝试一下中的代码:。