看起来这个问题出现了很多,我做了一些搜索,基于这将在$ _POST或$ _GET函数之前放置“isset”。问题出现在我的代码中,我无法弄清楚将它放在何处。
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()提供的参数无效第65行/controller/common/cart.php
第65行将是我发布的代码中的第一行。我在其他两个地方也有同样的错误,但我希望我从这里的建议中学到的东西可以帮助我解决这些问题。
答案 0 :(得分: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 = '';
}
}
}
答案 1 :(得分:0)
在使用值之前,只需将isset片段放好。在此特定方案中,将其放在代码段的第一行之前。如果它也出现在其他部分中,请将这些prat放在带有isset的if语句中。