PHP @ foreach warning

PHP

I have a PHP foreach from an array, the array is given to me by my DB provider via a soap web service so I cannot change the array I get. When there are no elements to return, I get an empty array, this results in

Warning: Invalid argument supplied for foreach()

the loop looks like

foreach (($point1['return']) as $val) 

Where can I put an @ to stop this warning, and if I cant, what I do I do to turn off php warnings.

Best Answer

Hiding the warning is not the right way. You should check whether it exists and is an array.

if (is_array($point1['return'])) {
    foreach ($point1['return'] as $val)  {
         ...
    }
}

PHP is_array()

Actually, turning off warnings or using the @ operator is not the right way to go 99% of the time.

Solve the problem instead of hiding it.