1. Go to this page and download the library: Download geoffroy-aubry/helpers library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
geoffroy-aubry / helpers example snippets
/**
* array_merge_recursive() does indeed merge arrays, but it converts values with duplicate
* keys to arrays rather than overwriting the value in the first array with the duplicate
* value in the second array, as array_merge does. I.e., with array_merge_recursive(),
* this happens (documented behavior):
*
* array_merge_recursive(array('key' => 'org value'), array('key' => 'new value'));
* ⇒ array('key' => array('org value', 'new value'));
*
* arrayMergeRecursiveDistinct() does not change the datatypes of the values in the arrays.
* Matching keys' values in the second array overwrite those in the first array, as is the
* case with array_merge, i.e.:
*
* arrayMergeRecursiveDistinct(array('key' => 'org value'), array('key' => 'new value'));
* ⇒ array('key' => array('new value'));
*
* EVO on indexed arrays:
* Before:
* arrayMergeRecursiveDistinct(array('a', 'b'), array('c')) => array('c', 'b')
* Now:
* ⇒ array('c')
*
* @param array $aArray1
* @param array $aArray2
* @return array An array of values resulted from strictly merging the arguments together.
* @author Daniel <daniel (at) danielsmedegaardbuus (dot) dk>
* @author Gabriel Sobrinho <gabriel (dot) sobrinho (at) gmail (dot) com>
* @author Geoffroy Aubry
* @see http://fr2.php.net/manual/en/function.array-merge-recursive.php#89684
*/
public static function arrayMergeRecursiveDistinct (array $aArray1, array $aArray2);
/**
* Executes the given shell command and returns an array filled with every line of output from the command.
* Trailing whitespace, such as \n, is not optional redirection of standard output
* @param string $sErrorPath optional redirection of standard error
* @param bool $bAppend true to append to specified files
* @return array array filled with every line of output from the command
* @throws \RuntimeException if shell error
*/
public static function exec ($sCmd, $sOutputPath = '', $sErrorPath = '', $bAppend = false);
/**
* Flatten a multidimensional array (keys are ignored).
*
* @param array $aArray
* @return array a one dimensional array.
* @see http://stackoverflow.com/a/1320156/1813519
*/
public static function flattenArray (array $aArray);
/**
* Returns specified value in the most appropriate unit, with that unit.
* If $bBinaryPrefix is FALSE then use SI units (i.e. k, M, G, T),
* else use IED units (i.e. Ki, Mi, Gi, Ti).
* @see http://en.wikipedia.org/wiki/Binary_prefix
*
* @param int $iValue
* @param bool $bBinaryPrefix
* @return array a pair constituted by specified value in the most appropriate unit and that unit
*/
public static function intToMultiple ($iValue, $bBinaryPrefix = false);
/**
* Format a number with grouped thousands.
* It is an extended version of number_format() that allows do not specify $decimals.
*
* @param float $fNumber The number being formatted.
* @param string $sDecPoint Sets the separator for the decimal point.
* @param string $sThousandsSep Sets the thousands separator. Only the first character of $thousands_sep is used.
* @param int $iDecimals Sets the number of decimal points.
* @return string A formatted version of $number.
*/
public static function numberFormat ($fNumber, $sDecPoint = '.', $sThousandsSep = ',', $iDecimals = null);
/**
* Returns TRUE iff the specified array is associative.
* Returns FALSE if the specified array is empty.
*
* http://stackoverflow.com/questions/173400/php-arrays-a-good-way-to-check-if-an-array-is-associative-or-sequential
*
* @param array $aArray
* @return bool true ssi iff the specified array is associative
*/
public static function isAssociativeArray (array $aArray);
/**
* Rounds specified value with precision $iPrecision as native round() function, but keep trailing zeros.
*
* @param float $fValue value to round
* @param int $iPrecision the optional number of decimal digits to round to (can also be negative)
* @return string
*/
public static function round ($fValue, $iPrecision = 0);
/**
* Remove all Bash color sequences from the specified string.
*
* @param string $sMsg
* @return string specified string without any Bash color sequence.
*/
public static function stripBashColors ($sMsg);
/**
* Formats a line passed as a fields array as CSV and return it, without the trailing newline.
* Inspiration: http://www.php.net/manual/en/function.str-getcsv.php#88773
*
* @param array $aInput
* @param string $sDelimiter
* @param string $sEnclosure
* @return string specified array converted into CSV format string
*/
public static function strPutCSV ($aInput, $sDelimiter = ',', $sEnclosure = '"');
/**
* Returns a string with the first character of each word in specified string capitalized,
* if that character is alphabetic.
* Additionally, each character that is immediately after one of $aDelimiters will be capitalized too.
*
* @param string $sString
* @param array $aDelimiters
* @return string
*/
public static function ucwordWithDelimiters ($sString, array $aDelimiters = array());
/**
* Returns the UTF-8 translation of the specified string, only if not already in UTF-8.
*
* @param string $s
* @return string the UTF-8 translation of the specified string, only if not already in UTF-8.
*/
public static function utf8Encode ($str);
/**
* Returns current time with hundredths of a second.
*
* @param string $sFormat including %s for cs, eg: 'Y-m-d H:i:s.%s'
* @return string current time with hundredths of a second.
*/
public static function getCurrentTimeWithCS ($sFormat);
/**
* Returns 'Y-m-d H:i:s[.cs]' date to timestamp, where '.cs' stands for optional hundredths of a second.
*
* @param string $sDate at format 'Y-m-d H:i:s[.cs]'
* @return float 'Y-m-d H:i:s[.cs]' date to timestamp, where '.cs' stands for optional hundredths of a second.
*/
public static function dateTimeToTimestamp ($sDate);
/**
* Generates a globally unique id generator using Mongo Object ID algorithm.
*
* The 12-byte ObjectId value consists of:
* - a 4-byte value representing the seconds since the Unix epoch,
* - a 3-byte machine identifier,
* - a 2-byte process id, and
* - a 3-byte counter, starting with a random value.
* @see https://docs.mongodb.org/manual/reference/method/ObjectId/
*
* Uses SKleeschulte\Base32 because base_convert() may lose precision on large numbers due to properties related
* to the internal "double" or "float" type used.
* @see http://php.net/manual/function.base-convert.php
*
* @param int $iTimestamp Default: time()
* @param bool $bBase32 Base32 (RFC 4648) or hex output?
* @return string 20 base32-char or 24 hex-car MongoId.
*
* @see https://www.ietf.org/rfc/rfc4648.txt
* @see http://stackoverflow.com/questions/14370143/create-mongodb-objectid-from-date-in-the-past-using-php-driver
*/
public static function generateMongoId ($iTimestamp = 0, $bBase32 = true);
/**
* Display an HTML trace containing a var_dump() of the specified value.
*
* @param mixed $mValue value to pass to var_dump()
*/
public static function htmlVarDump ($mValue);
/**
* Display an HTML trace containing a print_r() of the specified value.
*
* @param mixed $mValue value to pass to print_r()
*/
public static function htmlPrintr ($mValue);
/**
* Display a CLI trace containing a print_r() of the specified value.
*
* @param mixed $mValue value to pass to print_r()
*/
public static function printr ($mValue);
/**
* Display a CLI trace containing a var_dump() of the specified value.
*
* @param mixed $mValue value to pass to var_dump()
*/
public static function varDump ($mValue);
pers\Helpers;
use GAubry\Helpers\Debug;
Helpers::exec('ls -l /var/log');
Debug::printr($value);
…