Home >Backend Development >PHP Tutorial >PHP skills: several practical PHP functions_PHP tutorial
1. sys_getloadavg()
sys_getloadavt() can obtain the system load status. This function returns an array containing three elements, each element representing the average load of the system over the past 1, 5, and 15 minutes.
Rather than letting the server crash due to excessive load, it is better to actively die a script when the system load is very high. sys_getloadavg() is used to help you achieve this function. Unfortunately, this function is not valid under Windows.
2. pack()
Pack() can convert the 32-bit hexadecimal string returned by md5() into a 16-bit binary string, which can save storage space.
3. cal_days_in_month()
cal_days_in_month() can return the number of days in the specified month.
4. _()
WordPress developers often see this function, along with _e(). These two functions have the same function and can be used in combination with the gettext() function to achieve multilingualization of the website. For details, please refer to the relevant parts of the PHP manual.
5. get_browser()
Wouldn’t it be nice to see what the user’s browser can do before sending the page? get_browser() can get the user's browser type and the functions supported by the browser, but first you need a php_browscap.ini file to serve as a reference file for the function.
It should be noted that this function's judgment of browser capabilities is based on the general characteristics of this type of browser. For example, if the user has turned off JavaScript support in the browser, the function has no way of knowing this. However, this function is still very accurate in determining browser type and OS platform.
6. debug_print_backtrace()
This is a debugging function that can help you find logical errors in the code. To understand this function, let’s look at an example:
$a = 0;
function iterate() {
global $a;
if( $a < 10 )
recur();
echo $a . “, “;
}
function recur() {
global $a;
$a++;
// how did I get here?
echo “nnn”;
debug_print_backtrace();
if( $a < 10 )
iterate();
}
iterate();
# OUTPUT:
#0 recur() called at [C:htdocsphp_stuffindex.php:8]
#1 iterate() called at [C:htdocsphp_stuffindex.php:25]
#0 recur() called at [C:htdocsphp_stuffindex.php:8]
#1 iterate() called at [C:htdocsphp_stuffindex.php:21]
#2 recur() called at [C:htdocsphp_stuffindex.php:8]
#3 iterate() called at [C:htdocsphp_stuffindex.php:25]
#0 recur() called at [C:htdocsphp_stuffindex.php:8]
#1 iterate() called at [C:htdocsphp_stuffindex.php:21]
#2 recur() called at [C:htdocsphp_stuffindex.php:8]
#3 iterate() called at [C:htdocsphp_stuffindex.php:21]
#4 recur() called at [C:htdocsphp_stuffindex.php:8]
#5 iterate() called at [C:htdocsphp_stuffindex.php:25]
7. metaphone()
This function returns the metaphone value of the word. Words with the same pronunciation have the same metaphone value, which means that this function can help you determine whether the pronunciation of two words is the same. But it is invalid for Chinese. . .
8. natsort()
natsort() can arrange an array in natural sorting. Let’s take a look at an example:
$items = array(
“100 apples”, “5 apples”, “110 apples”, “55 apples”
);
// normal sorting:
sort($items);
print_r($items);
# Outputs:
# Array
# (
# [0] => 100 apples
# [1] => 110 apples
# [2] => 5 apples
# [3] => 55 apples
# )
natsort($items);
print_r($items);
# Outputs:
# Array
# (
# [2] => 5 apples
# [3] => 55 apples
# [0] => 100 apples
# [1] => 110 apples
# )
9. levenshtein()
Levenshtein() tells you the "distance" between two words. It tells you how many letters you need to insert, replace, and delete if you want to change one word into another.
Let’s look at an example:
$dictionary = array(
“php”, “javascript”, “css”
);
$word = “japhp”;
$best_match = $dictionary[0];
$match_value = levenshtein($dictionary[0], $word);
foreach($dictionary as $w) {
$value = levenshtein($word, $w);
if( $value < $match_value ) {
$best_match = $w;
$match_value = $value;
}
}
echo “Did you mean the ‘$best_match’ category?”;
10. glob()
glob() will make you feel stupid using opendir(), readdir() and closedir() to find files.
foreach (glob(“*.php”) as $file)
echo “$filen”;