>백엔드 개발 >PHP 문제 >PHP에서 @ 연산자를 사용해 본 적이 있나요?

PHP에서 @ 연산자를 사용해 본 적이 있나요?

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-08-06 17:22:392230검색

오늘은 연산자를 소개합니다. 이전 연산자와는 조금 다를 수 있지만, 필요하시면 이 연산자를 참고하시면 됩니다.

오류 제어 연산자를 소개합니다. 이 연산자의 사용법을 소개하기 전에 먼저 이 연산자를 살펴보겠습니다.

오류 제어 연산자, 컴퓨터 언어, PHP는 @ 연산자를 지원합니다. PHP 표현식 앞에 배치하면 표현식이 생성할 수 있는 모든 오류 메시지가 무시됩니다. @。当将其放置在一个 php 表达式之前,该表达式可能产生的任何错误信息都被忽略掉 。

如果激活了track_errors特性,表达式所产生的任何错误信息都被存放在变量 $php_errormsg 中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。

我们已经知道了什么叫做错误控制运算符,那么来看一下如何使用这个运算符吧,我们先来看一个小例子。

<?php
$my_file = @file(&#39;grand.php&#39;) or die(&#39;文件格式发生错误!&#39;);
$value = @ $cache[$key];
?>

这个小例子的结果是什么?大家可以猜测一下。好了,我们这就来公布结果。

PHP에서 @ 연산자를 사용해 본 적이 있나요?

应该有很多人都猜对了吧,太棒了,给自己鼓鼓掌。这个例子输出的结果好像是die后面的内容哦,那这个运算符是干什么的呢?如何使用呢?

我们来看看这个运算运算符的用法吧。

<?php
$my_file = @file (&#39;不存在的文件名称&#39;) or
    die ("打开文件失败:错误为&#39;" . error_get_last()[&#39;message&#39;] . "&#39;");
    //适用于任何表达式,而不仅仅是函数:
    
$value = @$cache[$key];
//如果索引$key不存在,则不会发出通知。
?>

这就是这个运算符的用法了,不过我们来看一些注意事项或是其他的吧。

对于新手来说,一个简单的规则是:如果你能从某处获得一个值,你可以在其中添加@运算符。例如,可以将其放在变量、函数和include调用、常量等之前。它不能放在函数或类的定义之前,也不能用于ifforeach

track_errors 기능이 활성화되면 표현식에 의해 생성된 모든 오류 메시지가 $php_errormsg 변수에 저장됩니다. 이 변수는 오류가 발생할 때마다 덮어쓰기가 되므로 사용을 원할 경우 최대한 빨리 확인하시기 바랍니다.

우리는 이미 오류 제어 연산자가 무엇인지 알고 있으므로 먼저 이 연산자를 사용하는 방법을 살펴보겠습니다.

rrreee

이 작은 예의 결과는 무엇입니까? 추측해 볼 수 있습니다. 자, 이제 결과를 발표하겠습니다.

QI8BX8]@1ON(86TI4A39(ZA .png

🎜맞게 추측하신 분들이 많을 텐데요. 대단하네요. 박수를 보내주세요. 이 예제의 출력 결과는 die 뒤에 있는 내용인 것 같습니다. 그러면 이 연산자는 무엇을 하는가? 사용 방법은 무엇입니까? ? 🎜🎜이 연산자의 사용법을 살펴보겠습니다. 🎜rrreee🎜이것은 이 연산자의 사용법이지만 몇 가지 주의 사항이나 다른 사항을 살펴보겠습니다. 🎜🎜🎜초보자의 경우 간단한 규칙은 다음과 같습니다. 어딘가에서 값을 얻으려면 @ 연산자를 추가할 수 있습니다. 예를 들어 변수, 함수 및 include 호출, 상수 등 앞에 넣을 수 있습니다. 함수 또는 클래스도 사용할 수 없으며 ifforeach와 같은 조건부 구조에도 사용할 수 없습니다. 🎜🎜동시에 다음 사항에 주의해야 합니다. 🎜🎜현재 ". @" 오류 제어 연산자 접두어는 스크립트 종료를 초래하는 치명적인 오류에 대한 오류 보고도 비활성화합니다. 즉, 존재하지 않거나 잘못된 문자가 입력된 함수 호출 전에 "@"를 사용하여 오류 메시지를 표시하지 않는 경우 스크립트는 오류 메시지를 표시하지 않습니다. 🎜🎜그렇습니다. 더 알고 싶다면 → →🎜php video tutorial🎜🎜을 클릭하세요.

위 내용은 PHP에서 @ 연산자를 사용해 본 적이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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