Maison >développement back-end >tutoriel php >Explication détaillée du nombre arbitraire de paramètres et exemples de fichiers de recherche de la fonction PHP

Explication détaillée du nombre arbitraire de paramètres et exemples de fichiers de recherche de la fonction PHP

伊谢尔伦
伊谢尔伦original
2017-06-29 13:11:461636parcourir

1. N'importe quel nombre de paramètres pour la fonction PHP

Vous savez peut-être que PHP vous permet de définir une fonction avec des paramètres par défaut. Mais vous ne savez peut-être pas que PHP vous permet également de définir une fonction avec des paramètres complètement arbitraires
Voici un exemple vous montrant une fonction avec des paramètres par défaut :

// 两个默认参数的函数
function foo($arg1 = '', $arg2 = '') {
echo "arg1: $arg1\n";
echo "arg2: $arg2\n";
}
foo('hello','world');
/* 输出:
arg1: hello
arg2: world
*/
foo();
/* 输出:
arg1:
arg2:
*/

Jetons maintenant un œil à une fonction avec des paramètres variables, utilisez la méthode func_get_args() :

// 是的,形参列表为空
function foo() {
// 取得所有的传入参数的数组
$args = func_get_args();
foreach ($args as $k => $v) {
echo "arg".($k+1).": $v\n";
}
}
foo();
/* 什么也不会输出 */
foo('hello');
/* 输出
arg1: hello
*/
foo('hello', 'world', 'again');
/* 输出
arg1: hello
arg2: world
arg3: again
*/

2. Glob() Rechercher des fichiers
De nombreuses fonctions PHP ont une auto-définition relativement longue. Le nom de la fonction est expliqué. , mais lorsque vous voyez glob(), vous ne savez peut-être pas à quoi sert cette fonction à moins que vous ne la connaissiez déjà.
Pouvez-vous considérer cette fonction comme bonne ? scandir() est la même, elle peut être utilisée pour rechercher des fichiers.

// 取得所有的后缀为PHP的文件
$files = glob('*.php');
print_r($files);
/* 输出:
Array
(
[0] => phptest.php
[1] => pi.php
[2] => post_output.php
[3] => test.php
)
*/

Vous pouvez également rechercher plusieurs suffixes

// 取PHP文件和TXT文件
$files = glob('*.{php,txt}', GLOB_BRACE);
print_r($files);
/* 输出:
Array
(
[0] => phptest.php
[1] => pi.php
[2] => post_output.php
[3] => test.php
[4] => log.txt
[5] => test.txt
)
*/

Vous pouvez également ajouter le chemin :

$files = glob('../images/a*.jpg');
print_r($files);
/* 输出:
Array
(
[0] => ../images/apple.jpg
[1] => ../images/art.jpg
)
*/

Si vous souhaitez obtenir le chemin absolu , vous pouvez appeler la fonction ?realpath() :

$files = glob('../images/a*.jpg');
// applies the function to each array element
$files = array_map('realpath',$files);
print_r($files);
/* output looks like:
Array
(
[0] => C:\wamp\www\images\apple.jpg
[1] => C:\wamp\www\images\art.jpg
)
*/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn