Examples of PHP error handling
Introduction
Here we will discuss PHP error handling with hands-on examples. Methods covered here are - using or die() statement, using trigger_error() function, using boolean flags and using PEAR_Error object.
Using "or die()" statement
We will create an HTML form and upon submitting values, we are going to check if the Name field contains alphabetical values and Phone field contains numerical values, failing these, error messages are generated using die(). This is the HTML form:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type" />
<title>using or die() statement</title>
<style type="text/css">
li {
list-style-type: none;
}
</style>
</head>
<body>
<form name="w3rform" method="post"
action="using-die.php">
<ul>
<li><input name="name" type="text" /></li>
<li><input name="phone" type="text" /></li>
<li><input name="submit" value="submit"
type="submit" /></li>
</ul>
</form>
</body>
</html>
Here is the PHP code (using-die.php) for error checking.
<?php
$name = $_POST['name'];
$phone = $_POST['phone'];
if (isset($_POST['submit']))
{
if (is_numeric($name))//checking if the value is numeric
{
die("Name must not be numeric!");//error message if the value is numeric
}
else
{
echo "<br />Name entered is:".$_POST['name'];
}
if (!is_numeric($phone))//checking if the value is not numeric
{
die("<br />Phone no must be numeric!");//error message if the value is not numeric
}
else
{
echo "<br />Phone No is:".$_POST['phone'];
}
}
?>
Previous: Installation and runtime configuration
Next: Error handling functions debug_backtrace()
PHP: Tips of the Day
How to Sort Multi-dimensional Array by Value?
Try a usort, If you are still on PHP 5.2 or earlier, you'll have to define a sorting function first:
Example:
function sortByOrder($a, $b) { return $a['order'] - $b['order']; } usort($myArray, 'sortByOrder');
Starting in PHP 5.3, you can use an anonymous function:
usort($myArray, function($a, $b) { return $a['order'] - $b['order']; });
And finally with PHP 7 you can use the spaceship operator:
usort($myArray, function($a, $b) { return $a['order'] <=> $b['order']; });
To extend this to multi-dimensional sorting, reference the second/third sorting elements if the first is zero - best explained below. You can also use this for sorting on sub-elements.
usort($myArray, function($a, $b) { $retval = $a['order'] <=> $b['order']; if ($retval == 0) { $retval = $a['suborder'] <=> $b['suborder']; if ($retval == 0) { $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder']; } } return $retval; });
If you need to retain key associations, use uasort() - see comparison of array sorting functions in the manual
Ref : https://bit.ly/3i77vCC
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework