Прежде всего, вы не создаете пустой массив путем приведения типа следующего оператора.Приведенный ниже код фактически создает массив с пустой строкой в первом элементе.
$foo = '';
(array)$foo;
Итак, правильный способ создания пустого массива -
$foo = array();
foreach($foo as $f){
echo 'xxx';
}
Надеюсь, этопомогает тебе ...