PHP{} 블록 수준 범위에 대한 자세한 설명

小云云
풀어 주다: 2023-03-21 06:56:01
원래의
2591명이 탐색했습니다.

이 문서는 주로 {} 블록 수준 범위 및 && 또는 || 우선순위 문제를 공유합니다. 모든 사람에게 도움이 되기를 바랍니다.

and && 또는 || 우선순위 문제:

and or는 && ||보다 우선순위가 낮습니다.
그래서 $b1 = $bA 및 $bB의 첫 번째 연산은 $b1 = $bA입니다. $b1 = $bA and $bB先运算的是$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
로그인 후 복사

{}块级作用域:

php中{}外面是可以取到其内部值的。PHP有函数作用域,但是没有块级作用域。

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)
}
로그인 후 복사

由于$arr as &$valrrreee{}블록 수준 범위: PHP에서는 내부 값을 {} 외부에서 얻을 수 있습니다. PHP에는 함수 범위가 있지만 블록 범위는 없습니다. rrreeerrreeerrreee

$arr as &$val이므로 세 번째 요소인

val로 반복합니다. 빈 배열에 재할당되더라도 후속 수정은 여전히 ​​영향을 미칩니다.

val은 참조이며 unset($val)을 추가하지 않는 한 후속 수정은 영향을 받습니다.

관련 권장사항:

Javascript의 범위 및 블록 수준 범위

🎜PHP 함수 범위인가요, 아니면 블록 수준 범위인가요?

위 내용은 PHP{} 블록 수준 범위에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿