donglun4682 2014-01-07 10:57
浏览 134
已采纳

PHP - 如何使用列表删除此未定义的数组索引

I have the following code on my page:

if (variable_get('ds_extras_fields_extra')) {
    $fields = explode("
", 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,
        );
      }
    }
}

I keep getting an undefined error randomly that occurs as a PHP Notice on the page, I just want to not see this error anymore... Preferrably, I can fix undefined errors by just checking isset(), but not sure how to do it on a php list language construct.

The error occurs on this line here:

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

And shows as follows:

Notice: Undefined offset: 2 in ds_extras_field_extra_fields() (line 514 of /sites/all/modules/ds/modules/ds_extras/ds_extras.module).

  • 写回答

2条回答 默认 最新

  • dtvnbe1428 2014-01-07 11:08
    关注

    How about error_reporting or the @ instructor? http://www.php.net/manual/en/security.errors.php

    Only suggested as you do not want to change anything. I do not suggest to actually use it, just fix your issue:)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?