I’m wondering if there is a more elegant way to do this:
$foo = (isset($bar) and array_key_exists('meh', $bar)) ? $bar['meh'] : '';
If I remove the isset part, PHP issues a warning if $bar isn’t an array, if I remove the array_key_exists part, PHP issues a warning if the meh key isn’t in the array. Is there a more graceful, warning free, way of achieving the same end?
You take exactly the steps required to “secure” code against the warnings you mention.
However, the warnings are there for a reason. Typically it makes more sense to check, if you can prevent situations where the variables you are trying to access are not initialized.