即使使用 PHP 多年也会偶然发现一些未曾了解的函数和功能其中有些是非常有用的但没有得到充分利用并不是所有人都会从头到尾一页一页地阅读手册和函数参考!
任意参数数目的函数
你可能已经知道PHP 允许定义可选参数的函数但也有完全允许任意数目的函数参数的方法以下是可选参数的例子
以下为引用的内容
// function with optional arguments
function foo($arg = $arg = ) {
echo "arg: $argn";
echo "arg: $argn";
}
foo(helloworld);
/* prints:
arg: hello
arg: world
*/
foo();
/* prints:
arg:
arg:
*/
现在让我们看看如何建立能够接受任何参数数目的函数这一次需要使用 func_get_args() 函数
以下为引用的内容
// yes the argument list can be empty
function foo() {
// returns an array of all passed arguments
$args = func_get_args();
foreach ($args as $k => $v) {
echo "arg"($k+)": $vn";
}
}
foo();
/* prints nothing */
foo(hello);
/* prints
arg: hello
*/
foo(hello world again);
/* prints
arg: hello
arg: world
arg: again
*/
使用 Glob() 查找文件
许多 PHP 函数具有长描述性的名称然而可能会很难说出 glob() 函数能做的事情除非你已经通过多次使用并熟悉了它可以把它看作是比 scandir() 函数更强大的版本可以按照某种模式搜索文件
以下为引用的内容
// get all php files
$files = glob(*php);
print_r($files);
/* output looks like:
Array
(
[] => phptestphp
[] => piphp
[] => post_outputphp
[] => testphp
)
*/
你可以像这样获得多个文件
以下为引用的内容
// get all php files AND txt files
$files = glob(*{phptxt} GLOB_BRACE);
print_r($files);
/* output looks like:
Array
(
[] => phptestphp
[] => piphp
[] => post_outputphp
[] => testphp
[] => logtxt
[] => testtxt
)
*/