php函数mkdir实现递归创建层级目录?
1
2
3
if(is_dir(dirname($path))){ //判断./1/2/3 已经有次文件目录
return mkdir($path); //这里执行的$path是多少,是整个目录吗,我理解成./1/2/3/4,很疑惑,所以请 //教下大家
}
这里的两个 $path 很显然是一样的,你都知道 dirname($path) 是 ./1/2/3 那么很显然 $path 应该是 ./1/2/3/4 了,为什么后面你又要说一个 ./1/2/3/4/5/6/7 呢
这个递归函数写得不好,而且还是多余的,现在 PHP 的 mkdir 函数已经能建多级目录了,只要第三个参数为 true 就可以:
1
mkdir('./1/2/3/4/5/6/7', 0777, true);
php怎么设置输出内容?
一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。 第一种:利用模板 目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smart template等。 它们每一种模板,都有一个获取输出内容的函数。 我们生成静态页面的方法,就是利用了这个函数。 用这个方法的优点是,代码比较清晰,可读性好。 这里我用smarty做例子,说明如何生成静态页 assign("title","Hello World!"); $content = $t->fetch("templates/index.htm"); //这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了 $fp = fopen("archives/2005/05/19/0001.html", "w"); fwrite($fp, $content); fclose($fp); ?>
为了方便调试程序,php提供了什么函数?
1.debug_zval_dump(),它与var_dump()的区别就是它新增了一个值refcount,即记录变量被引用的次数。同时它还可以打印几个变量。 如果你连引用计数器都不懂的话,请阅读:PHP垃圾回收机制引用计数器概念 2.debug_print_backtrace() debug_backtrace() 只是前者直接打印出来了而已。查看整个程序的调用栈,用来查看瞬间函数调用栈,方便查错。
编写一个php函数,计算1+3+5+7+……+n(n是奇数)的总和?
一个php函数,计算1+3+5+7+······+n(n是奇数)的总和
也是一个递归求和,代码如下
function f($n){
$s=0;
for ($i=1;$i<=$n;$i+=2) $s+=$i;
return $s;
}
PHP基本公式?
下面主要讲述 round, floor, ceil, pow, rand,max, min, decbin, bindec, dechex, hexdec, decoct, octdec 函数。
round
round 对浮点数进行四舍五入。round 函数语法如下:
round(float,precision)
其中参数 precision 表示小数点后面要保持的精度位数。如果不写参数 precision,表示四舍五入到整数位,比如:
echo round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4
如果 precision 为2,表示四舍五入到小数点后2位。示例如下:
echo round(1.95583, 2); // 1.96