PHP错误未定义的偏移,SQL导出工具

时间:2016-04-09 01:46:51

标签: php

我一直收到错误:

PHP注意:未定义的偏移量:在第150行的/home/mydomain/mydomain.com/admin/model/tool/export_xls.php中为1

我看了其他类似的帖子,但这些决议都没有对我的代码起作用。我没有看到任何与数组相关的数字,我已经仔细检查了是否缺少了关闭}。我问代码开发人员,他所做的就是让它停止显示错误,但它仍然显示在我的错误日志中(几千次)。第150行是代码上方的空白行

“//获取每个选项的所有选项值”

代码:

public function get_all_options()
    {
        $this->load->model('catalog/option');
        $all_options = $this->model_catalog_option->getOptions();

        $options_final = array();

        //Format options
        foreach ($all_options as $key => $op) {
            $options_final[$op['name'].'_'.$op['type']] = array(
                'option_id' => $op['option_id'],
                'option_name' => $op['name'],
                'option_values' => array()
            );
        }

        //Get all options values to each option
        foreach ($options_final as $option_name => $op) {
            $option_values = $this->model_catalog_option->getOptionValues($op['option_id']);

            //Format option values
            $option_values_final = array();

            foreach ($option_values as $key => $op) {
                $option_values_final[$op['name']] = $op['option_value_id'];
            }

            $options_final[$option_name]['option_values'] = $option_values_final;
        }

        return $options_final;         
    }

1 个答案:

答案 0 :(得分:0)

这是因为您正在访问未设置索引的数组。试试这样的事情

    //Format options

    foreach ($all_options as $key => $op) {
        $options_final[$op['name'].'_'.$op['type']] 
      = array(
         'option_id' =>isset($op['option_id']) ? 
     :$op['option_id']:null,     
     'option_name' => isset($op['option_name']) 
     ? :$op['option_name']:null,                
    'option_values' => array()
        );
     }