If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.
You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve optimum performance.
But from time to time, you will come across a function that makes you ask, ‘How come I did not know about this?’ Here are seven little-known PHP functions that I wish I had learned earlier.
Before I discovered array_column(), I used to manually loop through multi-dimensional arrays to extract out the specific columns. It is a boring process; one is bound to mess up somewhere.
This function takes out a single column of values from a multi-dimensional array, doing all the heavy lifting for you. It’s a real game-changer when dealing with database result sets and makes your code cleaner and more efficient.
Security is a very huge concern in web development, especially when dealing with user credentials.
I used to rely on md5() or sha1() for hashing passwords in the past, not even aware of how they could really be so vulnerable against the most common kind of attack — brute force.
Then came password_hash(); it doesn’t only handle salting automatically but also provides a safe and recommended way to hash passwords with modern algorithms.
Managing associative arrays can be a pain, and one of the things that pains me most is comparing two of them.
I have a function, mostly used for debug output, where I loop through two arrays and diff them. array_diff_key() makes this much easier.
It behaves much like array_diff(), but compares the keys rather than the values, quickly showing key differences that can be hard to spot when you’re just eyeballing two large arrays side by side, especially if the differences are multi-level deep. This is particularly useful in.
When dealing with configuration files or some other complex data structures, deeply nested arrays can sometimes make merging painful. .
There is a place to use array_merge_recursive(), but sometimes it merges values in a way you don't want. array_replace_recursive() is better in this regard because it overwrites the values.
So it is perfect when you need to replace existing values in a nested array without creating redundancy in the entries.
This really surprised me. I used to rely on cURL to make HTTP requests, but stream_context_create() is a simpler, more native way of doing things.
You can create your own context options for file streams, HTTP requests, and many other things under streaming operations without the need for additional extensions.
It is lightweight and very flexible for operations that handle different data streams - such as API calls or complex file processing.
Pattern matching is a recurring chore in every developer’s life, and most of the time using regular expressions feels like overkill.
The fnmatch() function provides a more convenient way to match file names or strings using wildcard matching.
This function is great for filtering files or even just doing a quick string comparison without the complexity of regular expressions.
Before learning 7 PHP Functions I Regret I Didnt Know Before, I would manually add a require or include statement to each class file.
This feature helps automate included classes, in fact, quickly setting up an autoloader for your classes.
The above is the detailed content of 7 PHP Functions I Regret I Didn't Know Before. For more information, please follow other related articles on the PHP Chinese website!