2016-04-12 3 views
-3

Получение этой ошибки на моем сайте для строки 113, не знаю, почему это происходит или что нужно сделать для исправления кода. См. Фрагмент ниже.Предупреждение: Недействительный аргумент, предоставленный для каждого()

// Return the CDN object by name. 
    // If a section is defined. Only returns the object if it exists in that section 
    // if "Section" is not defined; returns an object if it exists in any section. 
    // Returns FALSE if not found. 
    public function CDN($name='',$section=''){ 
     if (empty($name)) return FALSE; 
     else 
     foreach ($this->CDNS as $CDN){ 
      if (!empty($section)) { 
       if (stripos($name, $CDN->Name()) !== FALSE && ($CDN->Position() == $section)) return $CDN; 
      } 
      else 
       if (stripos($name, $CDN->Name()) !== FALSE) return $CDN; 

     } 
     return FALSE; 
    } 
+0

Массив $ this-> CDNS пуст. – Pupil

+0

Спасибо за помощь. Как это исправить? – sarkism

+2

положить что-нибудь в него? – DevDonkey

ответ

-1

Кажется $this->CDNS пуст. Выполните следующие действия:

public function CDN($name='',$section=''){ 
    if (empty($name)) return FALSE; 
    else 
    { 
    if(!empty($this->CDNS)) 
    { 
    foreach ($this->CDNS as $CDN){ 
     if (!empty($section)) { 
      if (stripos($name, $CDN->Name()) !== FALSE && ($CDN->Position() == $section)) return $CDN; 
     } 
     else 
     if (stripos($name, $CDN->Name()) !== FALSE) return $CDN; 

    } 
    return FALSE; 
    } 
} 
} 
+1

Не 'isset &&! Empty'; просто '! empty' будет прекрасно. – deceze

+0

Да, вы правы. Я обновил ответ. Спасибо, что указали на ошибку. –

+0

Это также не так, что «[the] array пуст», это то, что * это не массив *. Пустой массив не приведет к ошибке. – deceze

Смежные вопросы