Have you ever taken a look at the list of functions available in PHP? I just counted 5025. Granted, it depends on what extensions you have enabled, but still: that’s one heap of functions! While I can’t show you every one of them, if you’re new to the language, I’ll introduce you to seven really handy ones in this quick tip!
Function 1: array_rand
Let’s start with a simple one. Ever want to get a random item out of an array? You might use
mt_rand to get a random number, passing 0 and the last index of the array as the min and max parameters; this will give you a random key that you can use to pull a value from your array. However, there’s a way that’s a little bit quicker:
array_rand. Just pass it your array, and it will return the random key.
$sites = ["Nettuts+", "Psdtuts+", "Mobiletuts+", "Mactuts+"]; $k = array_rand($sites); $sites[$k];
If you want more than one random value from the array, pass a second parameter identifying how many; you’ll get back an array of random keys.
Function 2: strftime
Dates are a big part of any web apps, so you should be able to output them in any format you need. It’s not hard to get a timestamp—you’ll pull it from a database or use
time(), maybe—but how about formatting it? The
strftime function can format that timestamp in any way you’d like. You’ll pass it a format string and the timestamp and get the date back out.
strftime("%B %d, %Y", time()); // July 28, 2012
Of course, it’s impossible to memorize all the formatting tokens, so I use the handy strfti.me to help me; give it a try, and you’ll love it, too.
Function 3: basename
When working with a file, you usually want to get at it via its absolute path. However, if you need to display information about this file to the user, you probably just want to show them the file name, and not its whole path. Enter
basename: this handy function will strip that path down to just the file name; just pass it the path as the parameter; if you want to get rid of a suffix, like a file extension, pass that suffix as the second parameter.
$path = "/some/long/path/to/the/special_file.txt"; $filename1 = basename($path); // special_file.txt $filename2 = basename($path, ".txt"); // special_file
Function 4: list
This one’s pretty cool: let’s say you have an array, and you want to assign its items to variables of their own. The
list function makes this super-simple:
As you can see, we just pass the new variable names as parameters to the
list function and set that equal to the array. It’s a bit different from the normal syntax, since the function call is on the left, but, yes, it does work. Here’s a good example from the PHP docs (for
Function 5: range
If you ever need a list of numbers to iterate over, you’ll want to check out the
range function. Just pass it a starting and ending number (or letter), and it will return an array of the numbers:
range(0, 10); // array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) range('a', 'f'); // array('a', 'b', 'c', 'd', 'e'. 'f');
As you can see, it’s an inclusive range, so both the numbers you define are included. You could also pass a step parameter to specify the increment between numbers:
range(2, 10, 2); // array(2, 4, 6, 8, 10);
Function 6: isset
Here’s a handy way to check if a variable has been set: use the
isset function. You just pass it a variable name, and it will return true if that variable exists, and is set to something other than
Since this function also works with the items in array and associative arrays, this function is often used to check for the existence of specific keys on the
$ _GET and
$ _POST super global arrays: if a given value exists, you’ll do one thing; otherwise, you’ll do something else. For example, a search page might go something like this:
Function 7: strip_tags
Of course, you might want to allow certain tags, like
<code>, for some simple styling; pass a string listing those as the second parameter:
Well, there you go: seven handy PHP functions you should find pretty useful as you code.