Maison > Article > développement back-end > Exemples de portée PHP et de manipulation de dossiers
1. Portée
1.1 Portée des variables
1. fonction
2. Variables locales : À l'intérieur de la fonction, par défaut, les variables extérieures à la fonction ne seront pas accessibles à l'intérieur de la fonction
3. Variables superglobales : Peuvent être utilisées à la fois à l'intérieur et à l'extérieur de la fonction Accès
Accès aux variables globales à l'intérieur de la fonction
<?php $num=10; //全局变量 function fun() { echo $GLOBALS['num']; //输出全局的$num } fun();
mot-clé global
<?php $num=10; function fun() { global $num; //将全局变量的$num的地址引入到函数内部 相当于$num=&GLOBALS['num'] echo $num; //10 $num=100; } fun(); echo '<br>'; echo $num; //100
Résumé :
1.$GLOBALS enregistre toutes les valeurs des variables globales
2.global est utilisé pour créer une référence aux variables globales
3 Les constantes n'ont pas de portée Concept<.>
1.2 Variables statiques (statiques)
Les variables statiques font généralement référence à des variables locales statiquesLes variables statiques ne sont initialisées qu'une seule fois<?php function fun() { static $num=10; //静态变量只初始化一次,调用完毕吧不销毁,第二次调用的时候就不再初始化 $num++; echo $num,'<br>'; } fun(); //11 fun(); //12
La différence entre les constantes et les variables statiques :
1. Les constantes et les variables statiques sont initialisées une fois2 Les constantes ne peuvent pas changer de valeur, les variables statiques peuvent changer de valeur.
3. Les constantes n'ont pas de portée, les variables statiques ont une portée1.3 Utilisation de fonctions anonymes()
Par défaut, les fonctions ne sont pas accessibles à l'intérieur de la fonction Variables externes , mais dans les fonctions anonymes, des variables externes peuvent être introduites dans la fonction anonyme en utilisant<?php $num=10; $fun=function() use($num) { //将$num引入到匿名函数中,引用多个变量时用逗号分隔开 echo $num; }; $fun(); //10
2 Opération de dossier :
2.1 Dossier de création (mkdir (. chemin, autorisation, création récursive))
<?php //1、创建目录 //mkdir('./aa'); //创建aa文件夹 //mkdir('./aa/bb'); //在aa目录下创建bb(aa目录必须存在) mkdir('./aa/bb/cc/dd',0777,true); //递归创建
2.2 Supprimer le dossier (rmdir())
//remove:移除 rmdir('./aa/bb/cc/dd'); //删除dd文件夹Remarque :1. Le dossier supprimé doit être vide 2 PHP ne propose pas de suppression récursive pour des raisons de sécurité.
2.3 Renommer le dossier (renommer(ancien nom, nouveau nom))
rename('./aa','./aaa'); //将aa改为aaa
2.4 Est-ce un dossier (is_dir())
echo is_dir('./aaa')?' 是文件夹':'不是文件夹';
2.5 Ouvrir le dossier, lire le dossier, fermer le dossier
$folder=opendir('./'); //打开目录 //var_dump($folder); //resource(3) of type (stream) while($f=readdir($folder)){ //读取文件夹 if($f=='.' || $f=='..') continue; echo iconv('gbk','utf-8',$f),'<br>'; //将gbk转成utf-8 } closedir($folder); //关闭文件夹Résumé : 1 opendir() renvoie le type de ressource 2. Chaque dossier contient . et ..3. iconv() est utilisé pour convertir les encodages de caractèresTutoriels d'articles associés recommandés :
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!