【问题标题】:Undefined index: PHP Issue未定义的索引:PHP 问题
【发布时间】:2015-08-11 10:40:04
【问题描述】:

看起来这个问题出现了很多,我做了一些搜索,并基于此将“isset”放在 $ _POST 或 $ _GET 函数之前。问题出在我的代码中,我不知道该放在哪里。

    foreach ($product['option'] as $option) {
        if ($option['type'] != 'file') {
            $value = $option['value'];
        } else {
            $upload_info = $this->model_tool_upload->getUploadByCode($option['value']);

            if ($upload_info) {
                $value = $upload_info['name'];
            } else {
                $value = '';
            }
        }

我得到的错误如下:

注意:未定义的索引:第 65 行 /home/mdfehr/public_html/store/catalog/controller/common/cart.php 中的选项警告:/home/mdfehr/public_html/store/catalog 中为 foreach() 提供的参数无效/controller/common/cart.php 第 65 行

第 65 行将是我发布的代码的第一行。我在其他两个地方也有同样的错误,但我希望我从这里的建议中学到的东西可以帮助我解决这些问题。

【问题讨论】:

标签: php indexing undefined isset


【解决方案1】:

如下替换整个代码。

if(isset($product['option']) && is_array($product['option']))
{
    foreach ($product['option'] as $option) {
        if ($option['type'] != 'file') {
            $value = $option['value'];
        } else {
        $upload_info = $this->model_tool_upload->getUploadByCode($option['value']);

        if ($upload_info) {
            $value = $upload_info['name'];
        } else {
            $value = '';
        }
    }
}

【讨论】:

  • 你说得对,我犯了一个小错误。相应地编辑代码。
【解决方案2】:

只需在使用值之前放置 isset 部分。在这种特殊情况下,请将其放在代码 sn-p 的第一行之前。如果它也出现在其他部分,请将这些 prats 放在带有 isset 的 if 语句中。

【讨论】:

    猜你喜欢
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2014-05-30
    • 2020-01-17
    • 2014-12-19
    相关资源
    最近更新 更多