一些你不曾知道的PHP函数和功能<br />
<br />
1、任意参数数目的函数<br />
//function with 2 optional arguments <br />
function foo($arg1=”,$arg2=”){ <br />
echo“arg1:$arg1\n”; <br />
echo“arg2:$arg2\n”; <br />
} <br />
foo(‘hello’,'world’); <br />
/*prints: <br />
arg1:hello <br />
arg2:world <br />
*/ <br />
foo(); <br />
/*prints: <br />
arg1: <br />
arg2: <br />
*/ <br />
<br />
现在让我们看看如何建立能够接受任何参数数目的函数。这一次需要使用func_get_args()函数:<br />
function foo(){ //return san array of all passed arguments <br />
$args=func_get_args(); <br />
foreach($args as $k=>$v){ <br />
echo“arg”.($k+1).”:$v\n”; <br />
} <br />
} <br />
foo(); /*printsnothing*/ <br />
foo(‘hello’); <br />
/*prints <br />
arg1:hello <br />
*/ <br />
foo(‘hello’,‘world’,‘again’); /*prints <br />
arg1:hello <br />
arg2:world <br />
arg3:again <br />
<br />
2、使用Glob()查找文件<br />
许多PHP函数具有长描述性的名称。然而可能会很难说出glob()函数能做的事情,除非你已经通过多次使用并熟悉了它。可以把它看作是比scandir()函数更强大的版本,可以按照某种模式搜索文件。<br />
<br />
以下为引用的内容://get all php files <br />
$files=glob(‘*.php’); <br />
print_r($files); /*outputlookslike: <br />
Array <br />
( <br />
[0]=>phptest.php <br />
[1]=>pi.php <br />
[2]=>post_output.php <br />
[3]=>test.php <br />
) <br />
*/ 你可以像这样获得多个文件://getallphpfilesANDtxtfiles <br />
$files=glob(‘*.{php,txt}’,GLOB_BRACE); <br />
print_r($files); /*outputlookslike: <br />
Array <br />
( <br />
[0]=>phptest.php <br />
[1]=>pi.php <br />
[2]=>post_output.php <br />
[3]=>test.php <br />
[4]=>log.txt <br />
[5]=>test.txt <br />
) <br />
*/ 请注意,这些文件其实是可以返回一个路径,这取决于查询条件:<br />
$files=glob(‘../images/a*.jpg’); <br />
print_r($files); <br />
/*outputlookslike: <br />
Array <br />
( <br />
[0]=>../images/apple.jpg <br />
[1]=>../images/art.jpg <br />
) <br />
*/ <br />
$files=glob(‘../images/a*.jpg’); <br />
//appliesthefunctiontoeacharrayelement <br />
$files=array_map(‘realpath’,$files); <br />
print_r($files); <br />
/*outputlookslike: <br />
Array <br />
( <br />
[0]=>C:\wamp\www\images\apple.jpg <br />
[1]=>C:\wamp\www\images\art.jpg <br />
) <br />
*/