我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 10) {
echo $i . "\n";
static_function();
}
}
static_function();这段代码会如数输出 1 到 10 的数字。在 static_function 函数第二次运行时,变量 i 由于是静态变量,所以仍被保留不被释放,进而可以得到自增的值。
这个问题不单单出现在PHP中,你可以在其他语言的代码中经常看到:
差:for($i=0;$i<count($array);$i++){...}
好:$count=count($array);for($i=0;$i<$count;$i++){...}
这因该很好解释,但许多人就是想少写一行代码而浪费了系统资源。如果在循环声明中使用了count函数,那每次循环都会调用一次。如果你的循环次数很多,那就会浪费非常多的时间。
用预定义长量代替没有意义的数字
defined ("GREAT_THAN_MAX",1);
defined("NORMAL",0);
defined("LESS_THAN_MIN",-1);
switch($type){
case GREAT_THAN_MAX:
...
break;
case NORMAL:
...
break;
case LESS_THAN_MIN:
...
break;
default:
doSomething();
break;
}
分享到:
相关推荐
编程之美,微软技术面试心得,适合需要面试的同学
Python编程之美.docx
2012"编程之美"全国挑战赛题目 Ocean Scream
微软编程之美2022初试题目收集.pdf
《Python编程之美——带你进入Python语言世界》课程设计大纲参考.pdf
第 11 章并发编程实践313-res电~d u lodThrondPoolExocu t。n)句墅。例ovo/JovoVI同uolMochln。叫dk1 .8
编程之美微软技术面试心得.doc
树 * 字典树 * 遍历-层次遍历 * 遍历-中序遍历-非递归 * 遍历-前序遍历-非递归 * 遍历-后序遍历-非递归 * 二叉查找树-两数之和 * 二叉查找树-中第K小的元素 * 二叉查找树-从有序数组中构造二叉查找树 ...编程之美
编程之美1的数目.pdf
编程之美:微软技术面试心得.pdf 非常有趣的算法题。
编程之美--微软技术面试心得.zip
Java并发编程之美(这个写的不错)1
编程之美资格赛回文算法,我自己写的。题目是输入数据组数,输入几组字符串,然后判断其中有几个回文,然后输出。
python 数据结构 算法 LeetCode 牛客 面试 编程之美 动态规划 字典树 快速排序 树 字符串 数组 链表 全排列 堆排序 位运算 大数相加
《Python编程之美——带你进入Python语言世界》课程设计大纲.docx
让CPU占用率曲线听你指挥 《编程之美——微软技术面试心得》节选.pdf
《python编程之美――带你进入python语言世界》课程设计大纲(最新可编辑文档)
一些常见的有趣算法,共享,共享,共享……
内容简介并发编程相 比 Java 中其他知识点的学习 门槛较高,从而导致很多人望而却步 。但无论是职场面试,还是高并发 / 高流量系统的实现,却都离不开并发编程