Things to Check in PHP(php.dzone.com)
php.dzone.com
Things to Check in PHP
http://php.dzone.com/articles/5-things-you-should-check-now
7 comments
A bonus tip: do not merge arrays if you're not absolutely positively sure they are truly associative. Consider:
Coming from PHP background first I didn't understand why I would need separate types for lists and dicts in Python. Now I think they are a godsend.
If I had the time I'd write 999 Things You Should Check in Your PHP Right Now. If this is the only language in your belt, please for your software's sake learn something else, widen your perspective.
array_merge(array(CONST_1 => 'val1'), array(CONST_2 => 'val2'));
You'd expect the result to be array(CONST_1 => 'val1', CONST_2 => 'val2')
And you'd be wrong most of the time. If we have something like this: define('CONST_1', '1024');
define('CONST_2', '65536');
The result of the above array_merge is: array(0 => 'val1', 1 => 'val2');
And that's because PHP doesn't care about the keys if they are numerical (note that I didn't say numbers; these were strings.)Coming from PHP background first I didn't understand why I would need separate types for lists and dicts in Python. Now I think they are a godsend.
If I had the time I'd write 999 Things You Should Check in Your PHP Right Now. If this is the only language in your belt, please for your software's sake learn something else, widen your perspective.
If this is the only language in your belt, please for your software's sake learn something else, widen your perspective.
Would help if you spent some time learning PHP in the first place :/ .. to preserve keys simply '+' the arrays together:
Edit: wow, just wow. The parent is voted up with miss information and I'm voted down for correcting him.
Would help if you spent some time learning PHP in the first place :/ .. to preserve keys simply '+' the arrays together:
php > define('CONST_1', '1024');
php > define('CONST_2', '65536');
php > print_r((array(CONST_1 => 'val1') + array(CONST_2 => 'val2')));
Array
(
[1024] => val1
[65536] => val2
)
Also, constants have nothing to do with the problem you had, it's just the way array_merge works.Edit: wow, just wow. The parent is voted up with miss information and I'm voted down for correcting him.
Just so you know, my comment is not upvoted, and yours is downvoted because of the tone.
"It's just the way array_merge works" is true, so true even that it applies to the whole language. Why would merging an array yield a different result than adding them together, anyway?
"It's just the way array_merge works" is true, so true even that it applies to the whole language. Why would merging an array yield a different result than adding them together, anyway?
Title makes it sound like security issues. But really it's just a list of 'improvements' you can make. Fun.
Not to mention how dense these suggestions are. Caching speeds things up? Really? Thank you for enlightening all of us.