不能重新声明函数PHP [复制]不能重新声明函数PHP [复制](Cannot redeclare

2019-05-17 10:43发布

这个问题已经在这里有一个答案:

  • “致命错误:不能重新声明<函数>” 14个回答

我有一个名为parseDate功能,但是当我把它称为我的PHP页面(这是一个Joomla组件页)我得到致命错误:不能重新声明parsedate()(以前在模板/ ja_zeolite /资产/ functions.php中宣称:2)模板/ ja_zeolite /资产/第21行的functions.php

线2是功能parsedate($数据)和行21是} ...(功能部)。 该功能是:

function parseDate($date){
$items = explode('.', $date);
switch($items[1]){
    case 1: $mese = 'Gen'; break;
    case 2: $mese = 'Feb'; break;
    case 3: $mese = 'Mar'; break;
    case 4: $mese = 'Apr'; break;
    case 5: $mese = 'Mag'; break;
    case 6: $mese = 'Giu'; break;
    case 7: $mese = 'Lug'; break;
    case 8: $mese = 'Ago'; break;
    case 9: $mese = 'Set'; break;
    case 10: $mese = 'Ott'; break;
    case 11: $mese = 'Nov'; break;
    case 12: $mese = 'Dic'; break;
    default: $mese = '---';
}
$data_corretta = array(0 => $mese, 1 => $items[2]);
return $data_corretta;
}

我也试图改变名称的功能,但它仍然无法正常工作。

为什么?

Answer 1:

您(或Joomla)很可能是该文件包括多次。 附上功能在条件块:

if (!function_exists('parseDate')) {
    // ... proceed to declare your function
}


Answer 2:

删除的功能和检查的输出:

var_dump(function_exists('parseDate')); 

在这种情况下,改变函数的名称。

如果你假,你包括与该函数的文件两次,更换:

include

通过

include_once

并替换:

require

通过

require_once

编辑:我只是有点为时已晚,后期之前打我吧!



文章来源: Cannot redeclare function php [duplicate]