找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1563|回复: 0

[教程] 9个必须知道的实用PHP函数和功能

[复制链接]
发表于 2013-4-2 20:56:06 | 显示全部楼层 |阅读模式 来自 中国–广东–揭阳
  1. 即使使用 PHP 多年,也会偶然发现一些未曾了解的函数和功能。其中有些是非常有用的,但没有得到充分利用。并不是所有人都会从头到尾一页一页地阅读手册和函数参考!
  2. 1、任意参数数目的函数
  3. 你可能已经知道,PHP 允许定义可选参数的函数。但也有完全允许任意数目的函数参数的方法。以下是可选参数的例子:
  4. 以下为引用的内容:
  5. // function with 2 optional arguments
  6. function foo($arg1 = '', $arg2 = '') {
  7.    echo 'arg1: $arg1 ';
  8. echo 'arg2: $arg2 ';
  9. }
  10. foo('hello','world');
  11. /* prints:
  12. arg1: hello
  13. arg2: world
  14. */
  15. foo();
  16. /* prints:
  17. arg1:
  18. arg2:
  19. */


  20. 现在让我们看看如何建立能够接受任何参数数目的函数。这一次需要使用 func_get_args() 函数:
  21. 以下为引用的内容:
  22. // yes, the argument list can be empty
  23. function foo() {
  24.    // returns an array of all passed arguments
  25. $args = func_get_args();
  26.    foreach ($args as $k => $v) {
  27.    echo 'arg'.($k+1).': $v ';
  28. }
  29. }
  30. foo();
  31. /* prints nothing */
  32. foo('hello');
  33. /* prints
  34. arg1: hello
  35. */
  36. foo('hello', 'world', 'again');
  37. /* prints
  38. arg1: hello
  39. arg2: world
  40. arg3: again
  41. */


  42. 2、使用 Glob() 查找文件
  43. 许多 PHP 函数具有长描述性的名称。然而可能会很难说出 glob() 函数能做的事情,除非你已经通过多次使用并熟悉了它。可以把它看作是比 scandir() 函数更强大的版本,可以按照某种模式搜索文件。
  44. 以下为引用的内容:
  45. // get all php files
  46. $files = glob('*.php');
  47. print_r($files);
  48. /* output looks like:
  49. Array
  50. (
  51.      [0] => phptest.php
  52.      [1] => pi.php
  53.      [2] => post_output.php
  54.      [3] => test.php
  55. )
  56. */


  57. 你可以像这样获得多个文件:
  58. 以下为引用的内容:
  59. // get all php files AND txt files
  60. $files = glob('*.{php,txt}', GLOB_BRACE);
  61. print_r($files);
  62. /* output looks like:
  63. Array
  64. (
  65.      [0] => phptest.php
  66.      [1] => pi.php
  67.      [2] => post_output.php
  68.      [3] => test.php
  69.      [4] => log.txt
  70.      [5] => test.txt
  71. )
  72. */


  73. 请注意,这些文件其实是可以返回一个路径,这取决于查询条件:
  74. 以下为引用的内容:
  75. $files = glob('../images/a*.jpg');
  76. print_r($files);
  77. /* output looks like:
  78. Array
  79. (
  80.      [0] => ../images/apple.jpg
  81.      [1] => ../images/art.jpg
  82. )
  83. */


  84. 如果你想获得每个文件的完整路径,你可以调用 realpath() 函数:
  85. 以下为引用的内容:
  86. $files = glob('../images/a*.jpg');
  87. // applies the function to each array element
  88. $files = array_map('realpath',$files);
  89. print_r($files);
  90. /* output looks like:
  91. Array
  92. (
  93.      [0] => C:wampwwwimagesapple.jpg
  94.      [1] => C:wampwwwimagesart.jpg
  95. )
  96. */
复制代码

评分

参与人数 1金币 +5 收起 理由
猫性男孩 + 5 智者的提问,再接再厉

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-27 06:33 , Processed in 0.041211 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表