Useful PHP Functions and Features You Need to Know
Functions with Arbitrary Number of Argumentslet's see how we can build a function that accepts any number of arguments. This time we are going to utilize func_get_args():
use $args = func_get_args(); inside the function.
Using Glob() to Find Files
Think of it like a more capable version of the scandir() function. It can let you search for files by using patterns.
// get all php files
$files = glob('*.php');
/* output looks like:
 => phptest.php
 => pi.php
 => post_output.php
 => test.php
Memory Usage Information
can use the memory_get_usage() function, and to get the highest amount of memory used at any point, we can use the memory_get_peak_usage() function.
CPU Usage InformationFor this, we are going to utilize the getrusage() function. Keep in mind that this is not available on Windows platforms.
print_r(getrusage());That may look a bit cryptic unless you already have a system administration background. Here is the explanation of each value (you don't need to memorize these):
ru_oublock: block output operations
ru_inblock: block input operations
ru_msgsnd: messages sent
ru_msgrcv: messages received
ru_maxrss: maximum resident set size
ru_ixrss: integral shared memory size
ru_idrss: integral unshared data size
ru_minflt: page reclaims
ru_majflt: page faults
ru_nsignals: signals received
ru_nvcsw: voluntary context switches
ru_nivcsw: involuntary context switches
ru_utime.tv_usec: user time used (microseconds)
ru_utime.tv_sec: user time used (seconds)
ru_stime.tv_usec: system time used (microseconds)
ru_stime.tv_sec: system time used (seconds)
Magic ConstantsPHP provides useful magic constants for fetching the current line number (__LINE__), file path (__FILE__), directory path (__DIR__), function name (__FUNCTION__), class name (__CLASS__), method name (__METHOD__) and namespace (__NAMESPACE__).
Generating Unique ID'sThere may be situations where you need to generate a unique string. I have seen many people use themd5() function for this, even though it's not exactly meant for this purpose:
// generate unique string
echo md5(time() . mt_rand(1,1000000));There is actually a PHP function named uniqid() that is meant to be used for this.
/* prints bar_4bd67da367b650.43684647*/
Compressing StringsWhen talking about compression, we usually think about files, such as ZIP archives. It is possible to compress long strings in PHP, without involving any archive files.
In the following example we are going to utilize the gzcompress() and gzuncompress() functions.
// gzcompress a string
$compressed = gzcompress('Compress me', 9);
echo $compressed."<br />";
// gzuncompress a string
$uncompressed = gzuncompress($compressed);
echo $uncompressed."<br />";