fatal error при попытке unset из массива

Статус
В этой теме нельзя размещать новые ответы.

maxy666

Профессор
Регистрация
23 Июл 2012
Сообщения
143
Реакции
44
Требуется удалить данные, если они присутствуют в массива, удаляю с помощью unset.
Делаю с помощью кода(циклом так как элементов postschema_fees_selected может быть от 0 до 11:(
PHP:
for($i=0;$i<=11;$i++)
            {
                if($post["postschema_fees_selected[$i]"]!="on")
                {         
                  if (!empty($post["postschema_fees_selected[$i]"]))
                    {                     
                        unset($post["postschema_fees_selected[$i]"]);
                    }       
                  if (!empty($post["postschema_fees_values[price1][$i]"]))
                    {
                        unset($post["postschema_fees_values[price1][$i]"]);
                    }
                   
                  if (!empty($post["postschema_fees_values[price2][$i]"]))
                    {
                        unset($post["postschema_fees_values[price2][$i]"]);
                    }
                   
                  if (!empty($post["postschema_fees_values[count][$i]"]))
                    {
                        unset($post["postschema_fees_values[count][$i]"]);
                    }
                 
               
                }
            }

Но почему то иногда появляется ошибка, которая просто останавливает скрипт:
Fatal error Cannot unset string offsets на строке где unset($post["postschema_fees_selected[$i]"]);

Возможно я не верно делаю проверку: if (!empty($post["postschema_fees_selected[$i]"]))

Подскажите пожалуйста как избежать этой фатальной ошибки. Может как по другом делать проверку if (!empty).
 
Последнее редактирование модератором:
Скорее всего иногда приходит не массив, проверяй с помощью is_array
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху