This commit is contained in:
Simon Vieille 2015-08-25 23:02:32 +02:00
parent 05f8ed3aa7
commit ef665bdb16
6 changed files with 1081 additions and 0 deletions

View File

@ -6,3 +6,5 @@
Licence [WTFPL](http://www.wtfpl.net/)
Sources : [Gitlab](https://gitlab.deblan.org/deblan/cours-php/src/master/un_peu_plus_loins/les_fonctions.md) (pull requests appréciées **:)**)

View File

@ -19,7 +19,9 @@
* [Exercice](les_bases/test.md)
* [Un peu plus loins…](un_peu_plus_loins/README.md)
* [Les variables superglobales](un_peu_plus_loins/les_variables_globales.md)
* [Portées des variables](un_peu_plus_loins/portees_des_variables.md)
* [Les constantes](un_peu_plus_loins/les_constantes.md)
* [Les fonctions](un_peu_plus_loins/les_fonctions.md)
* [Les fomulaires](un_peu_plus_loins/les_fomulaires.md)
* [Exercices](un_peu_plus_loins/exercice.md)

1
book.json Normal file
View File

@ -0,0 +1 @@
{}

1016
cover.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -55,3 +55,5 @@ foreach ($dimensions as dimension) {
}
```
Quand in introduit un ```return``` dans une fonction, elle stop son exécution et retourne la valeur indiquée. Si aucun ```return``` n'est placé alors elle va retourner ```null```.

View File

@ -0,0 +1,58 @@
# Portées des variables
La portée d'une variable définie dans quelle portion de code elle est accessible.
```php
$a = "foo";
function bar($a) {
$a = strtolower($a);
return $a;
}
echo bar($a);
```
À présent, quelle est la valeur de ```$a``` ?
## Comment ça marche ?
Pour faire simple :
```php
$a = 10;
if ($a) {
// $a est accessible
$b = 20;
while ($b) {
// $a est accessible
// $b est accessible
$c = 30;
function foo() {
global $b;
// $a est inaccessible
// $b est accessible
$d = 40;
}
$b = null;
}
}
// $b n'est pas accessible si la condition n'est pas remplie
// $c n'est pas accessible si la condition est la boucle sont exécutées
// $d ne sera jamais accessible
// Se code ne pourra jamais s'exécuter car la création
// des la fonction ```foo``` 10 fois de suite n'est pas possible
```