2014-01-07 12 views
1
내 페이지에 다음 코드 한

로이 정의되지 않은 배열 인덱스를 제거하는 방법 : 난 그냥 정의되지 않은 오류가 무작위로 그 페이지에 PHP주의로 발생 점점 계속PHP - 목록

if (variable_get('ds_extras_fields_extra')) { 
    $fields = explode("\n", variable_get('ds_extras_fields_extra_list', FALSE)); 
    foreach ($fields as $field) { 
     $field = trim($field); 
     if (!empty($field)) { 
     list($entity, $bundle, $field_name) = explode('|', $field); 
     $extra[check_plain($entity)][check_plain($bundle)]['display'][$field_name] = array(
      'label' => drupal_ucfirst(str_replace('_', ' ', check_plain($field_name))), 
      'description' => drupal_ucfirst(str_replace('_', ' ', check_plain($field_name))), 
      'weight' => 0, 
     ); 
     } 
    } 
} 

을 원하는 이 오류를 더 이상 볼 수 없으므로 ... isset()을 확인하여 정의되지 않은 오류를 해결할 수 있지만 PHP list 언어 구조에서 수행하는 방법을 잘 모르는 경우가 있습니다.

오류는 여기이 선에 발생

list($entity, $bundle, $field_name) = explode('|', $field); 

다음과 같이 보여줍니다

주의가 : 오프셋 정의되지 않은 : 2 ds_extras_field_extra_fields에서() (라인의 514/사이트/모든/모듈/ds/모듈/ds_extras/ds_extras.module).

+0

'if (isset (variable_get ('ds_extras_fields_extra'))) {' – Peon

+0

'variable_get' 함수에는 아무런 문제가 없습니다. 수백만 번 사용되어 완벽하게 작동합니다. –

답변

0

error_reporting 또는 @ instructor는 어떻습니까? http://www.php.net/manual/en/security.errors.php

변경하지 않으려는 경우에만 제안됩니다. 실제로 사용하지 말고 문제를 해결하십시오. :)

+0

지금은 error_reporting을 비활성화하지 마십시오. 그러나'@ '강사를 어디에 넣어서 에러 고지를 제거 할 수 있습니까? –

+1

귀하의 목록에 앞서 (...) = 폭발 (..); 암호. –

+0

고마워, 나는이 원래 생각조차하지 않았다. 매력처럼 작동합니다! –

0

error_reporting (E_ALL^​​E_NOTICE^E_WARNING);

스크립트 상단에서 시도 할 수 있습니다. 모든 알림 및 경고가 비활성화됩니다.