>  기사  >  백엔드 개발  >  PHP에서 foo()와 @foo()의 차이점은 무엇입니까

PHP에서 foo()와 @foo()의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2021-05-08 18:49:012998검색

PHP에서 "foo()"와 "@foo()"의 차이점: "@foo()"는 오류 제어 출력이고 모든 오류는 무시되며 "foo()"는 일반 호출 출력입니다. "@"는 오류 억제자입니다. PHP 표현식 앞에 배치하면 해당 표현식에 대한 모든 오류 보고서가 무시됩니다.

PHP에서 foo()와 @foo()의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

운영자 검사 지점 Foo()와 @foo()의 차이점

@foo( )는 오류 제어 출력이고, foo()는 일반 호출 출력입니다.

@는 오류 억제기입니다. PHP 표현식 앞에 배치하면 표현식의 모든 오류가 무시됩니다.

@ 기호는 PHP에서 오류 보고를 무시할 수 있지만 명령문 실행에 영향을 줄 수는 없습니다. , 표현식 앞에 @를 추가할 수 있습니다.

변수, 함수, include() 호출, 상수 등 앞에는 @ 기호를 넣을 수 있지만, 함수와 클래스 정의 앞에는 @ 기호를 넣을 수 없으며, 조건부 구조문 앞에도 사용할 수 없습니다.

예: if , switch, while, for 및 foreach 등

Extension: 모든 PHP 연산자에 대한 테스트 포인트

1) PHP 연산자 우선순위(높음에서 낮음으로)

  • 증가/감소
  • !
  • 산술 연산자
  • 크기 비교
  • (비)동등 비교
  • quote
  • 비트 연산자(^)
  • 비트 연산자(|)
  • 논리적 AND
  • 논리적 OR
  • 삼항
  • 할당
  • 그리고
  • xor
  • or

참고: 대괄호를 사용하면 코드의 가독성이 높아질 수 있습니다.

2) 비교 연산자: ==를 사용하는 것이 좋습니다. ========的区别

  • == 比较值是否相等; === 比较值是否相等,类型是否相同。
  • 等值判断(FALSE的七种情况)
    if (’== false’) {
    echo ‘’;
    } elseif (‘0’ == 0) {
    echo ‘’;
    } elseif (0.0 == 0) {
    echo ‘’;
    }

注:

  • FALSE的七种情况都满足:
    • 整型 0
    • 浮点型 0.0
    • 零字符串 ‘0’
    • 空字符串 ‘’ "
    • 空数组 array()
    • null
    • 布尔型 false

3) 递增/递减运算符

  • 递增/递减运算符不影响布尔值;
    • true++; // true
    • true–; // true
    • false++ ; // false
    • false–; // false
  • 递减NULL值没有效果;递增NULL值为1;
    • NULL–; // NULL
    • NULL++; // 1
  • 递增和递减在前,就先运算,后返回;反之就先返回,后运算

4) 逻辑运算符

① 短路作用

$a = true || $b == 3; // 前面是 true,后面不会执行【|| : 一真为真】
$b = false && $a == 1; // 前面是 false,后面不会执行【&&:一假为假】

||&&orand

==의 차이는 값이 같은지 비교합니다. ===는 값이 같은지, 유형이 같은지 비교합니다.

🎜동등 판단(FALSE 7건)🎜 if ('== false') {🎜 echo '';🎜 } elseif ('0' == 0) {🎜 echo '';🎜 }🎜🎜🎜🎜🎜참고: 🎜🎜🎜FALSE의 7가지 상황이 모두 충족됩니다. 🎜🎜 정수 0🎜🎜부동 소수점 0.0🎜🎜제로 문자열 '0'🎜🎜빈 문자열'' "🎜🎜빈 배열 array()🎜🎜null🎜🎜boolean false🎜🎜🎜🎜🎜🎜🎜3 ) 증가/감소 연산자 🎜🎜 🎜🎜🎜증가/감소 연산자는 부울 값에 영향을 주지 않습니다. 🎜🎜true++; // true🎜🎜false++; // false🎜🎜false–; 값은 효과가 없습니다. NULL 값을 늘리는 것은 1입니다. 🎜🎜NULL–; // NULL🎜🎜NULL++; // 1🎜🎜🎜🎜 연산이 먼저 수행되고 그렇지 않으면 반환됩니다. 먼저 연산을 수행합니다🎜🎜🎜🎜🎜4) 논리 연산자🎜🎜🎜① 단락 효과🎜
// 先执行 false || true,得到 true,再赋值给 $a
$a = false || true; // $a = true;

// 先执行 $b = false,整体为 true,则 $b的值为 false
$b = false or true; // $b = false;
🎜② ||&&or와 <code>and는 우선순위가 다릅니다🎜rrreee🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에서 foo()와 @foo()의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.