I am working through some code done by a previous developer. I'm pretty new to PHP so I am wondering if there is any well known pattern or solution to this problem.
Basically the original author does not check any array indexes before he tries to use them. I know I can use isset() to check each before it is used, but right now there are hundreds of lines where these errors are appearing. Before I put on some music and start slamming my head into my keyboard I want to make sure there is not some nice shortcut for handling this. Here is a typical section of code I'm looking at:
/* snip */ "text" => $link . $top_pick_marker . $output['author'] . " " . " " . $output['new_icon'] . $output['rec_labels'] . " " . $output['admin_link'] . $output['alternate_title'] . $output['access_info'] . $output['description'] . $output['url'] . $output['subject_terms'] . $output['form_subdivisions'] . $output['dates_of_coverage'] . $output['update_frequency'] . $output['place_terms'], /* snip */ I know I can use isset() here for each item. I would have to rearrange things a bit and remove all the concatenation as it is now. Is there any other easy way to do this or am I just stuck with it?
isset()orempty()on all checks involving arrays quite mind-numbing.