Maison  >  Article  >  développement back-end  >  Explication détaillée de la portée au niveau du bloc PHP{}

Explication détaillée de la portée au niveau du bloc PHP{}

小云云
小云云original
2018-03-10 09:13:152574parcourir

Cet article partage principalement avec vous {} la portée au niveau du bloc et et && ou || les problèmes prioritaires, j'espère qu'il pourra aider tout le monde.

et && ou || Problème prioritaire :

et ou a une priorité inférieure à && || et inférieure à =.
Donc $b1 = $bA and $bB fonctionne en premier sur $b1 = $bA.

$bA = true;$bB = false;$b1 = $bA and $bB;$b2 = $bA && $bB;
var_dump($b1); // $b1 = truevar_dump($b2); // $b2 = false$bA = false;$bB = true;$b3 = $bA or $bB;$b4 = $bA || $bB;
var_dump($b3); // $b3 = falsevar_dump($b4); // $b4 = true

{}Portée au niveau du bloc :

En php, la valeur interne peut être obtenue en dehors de {}. PHP a une portée de fonction, mais pas une portée de bloc.

if(1){    $a = 123;
}
print_r($a);  // $a = 123;
for ($i = 0; $i < 10; $i++) {    for ($j = 0; $j < 10; $j++) {        $k = 777;
    }
}
var_dump($j);//输出10var_dump($k);//输出777
$arr = [1, 2, 4];foreach ($arr as &$val) {    $val  *= 2;
}$val = [];//重新赋值$val[0]=9;$val[1]=10;
var_dump($arr,$val);

输出:array(3) {
  [0]=>
  int(2)
  [1]=>
  int(4)
  [2]=>
  &array(2) {
    [0]=>
    int(9)
    [1]=>
    int(10)
  }
}array(2) {
  [0]=>
  int(9)
  [1]=>
  int(10)
}

À cause de $arr as &$val, boucle vers le troisième élément,

val. Bien que réaffectées à un tableau vide, les modifications ultérieures affecteront toujours

val est une référence, et les modifications ultérieures l'affecteront, à moins que. unset ($ val) est ajouté.

Recommandations associées :

Portée et portée au niveau du bloc en Javascript

La portée de la fonction PHP est-elle ou la portée au niveau du bloc ? >

Fonction anonyme JavaScript imitant les compétences scope_javascript au niveau du bloc

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