Functions are the source of such power in PHP, but many PHP functions are not fully utilized. Here, we briefly introduce 10 uncommon but very useful functions.
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, as well as _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()
Isn’t it good 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.
Please note that this function’s judgment of browser functions 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 “\n\n\n”; 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. That is to say, this function can help you determine whether the pronunciation of two words is the same.
8. natsort()
natsort() can arrange an array in natural sorting. Let’s 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
# )
Php code
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.
Look at an example:
Php code
$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 to use opendir(), readdir() and closedir() to find files.
Php code
foreach (glob(“*.php”) as $file) echo “$file\n”;