The at sign (@) is used as error control operator in PHP. When an expression is prepended with the @ sign, error messages that might be generated by that expression will be ignored. If the track_errors feature is enabled, an error message generated by the expression and it will be saved in the variable $php_errormsg. This variable will be overwritten on each error.
Program 1:
<?php
$file_name = @file ( 'non_existent_file' ) or
die ( "Failed in opening the file: error: '$errormsg'" );
$value = @ $cache [ $key ];
?>
|
RunTime Error:
PHP Notice: Undefined variable: errormsg in /home/fe74424b34d1adf15aa38a0746a79bed.php on line 5
Output:
Failed in opening the file: error: ''
Program 2:
<?php
$result = $hello [ '123' ]
$result = @ $hello [ '123' ]
?>
|
It will execute only statement 1 and display the notice message
PHP Notice: Undefined variable: hello.
Note: The use of @ is very bad programming practice as it does not make error disappear, it just hides them, and it makes debugging a lot worse since we can’t see what’s actually wrong with our code.
References: Error Control Operators
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
17 Oct, 2018
Like Article
Save Article