PHP打印测试信息,php 打印测试技巧

以前习惯用 echo,print_r 等方法来测试php输出,这样多多少少会影响到代码的正常运行,现改成“把测试变量输出到文本”的形式,可实现日志形式的调试,代码如下:

view plaincopy to clipboardprint?

1.

2.

3./**

4.

5. * 01.数组转换成字串

6.

7. * */

8.

9. function Array_arrayeval($array, $level = 0) {

10.

11. $space = '';//每行的"空格"数量,即"制表符"数量

12.

13. for($i = 0; $i <= $level; $i++) {

14.

15. $space .= "\t";

16.

17. }

18.

19. $evaluate = "Array\n$space(\n";//计值

20.

21. $comma = $space;//逗号

22.

23. foreach($array as $key => $val) {

24.

25. $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key;

26.

27.

28. $val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12 || substr($val, 0, 1)=='0') ? '\''.addcslashes($val, '\'\\').'\'' : $val;

29.

30. if(is_array($val)) {

31.

32. $evaluate .= "$comma$key => ".Array_arrayeval($val, $level + 1);

33.

34. } else {

35.

36. $evaluate .= "$comma$key => $val";

37.

38. }

39.

40. $comma = ",\n$space";

41.

42. }

43.

44. $evaluate .= "\n$space)";

45.

46. return $evaluate;

47.

48.}

49.

50./**

51.

52. * 02.写入文件

53.

54. * @param 1.$filename 文件名(完整的物理路径,例如:D:\php\www\root\wjbphp\wjb.txt)

55.

56. * @param 2.$writetext 要写入的文本

57.

58. * @param 3.$openmod 读写方式("w":删掉以前的内容,从新写入; "a":追加)

59.

60. * */

61.

62.function File_writefile($filename, $writetext, $openmod='w') {

63.

64. if(@$fp = fopen($filename, $openmod)) {

65.

66. flock($fp, 2);

67.

68. fwrite($fp, $writetext);

69.

70. fclose($fp);

71.

72. return true;

73.

74. } else {

75.

76. log_runlog('error', "File: $filename write error.");

77.

78. return false;

79.

80. }

81.

82.}

83.

84.?>

主要是用到“File_writefile”函数,对上面的 “File_writefile”函数再包装一下:

view plaincopy to clipboardprint?

1.function cachewrite($writetext, $openmod='a'){

2.

3. $filename = 'd:\My Documents\1\cache.txt';

4. $writetext = "\r\n+++++++++++++++++++++++++++++++++++++++++++\r\n".$writetext;

5. return File_writefile($filename, $writetext, $openmod);

6.}

应用如下:

view plaincopy to clipboardprint?

1.$arr = array(

2. "w" => "wen",

3. "j" => "jian",

4. "b" => "bao"

5.);

6.cachewrite(print_r($arr,true));

输出结果:

1.+++++++++++++++++++++++++++++++++++++++++++

2.Array

3.(

4. [w] => wen

5. [j] => jian

6. [b] => bao

7.)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值