PHP函数(快捷方式)使用


PHP function (shortcut) use

我在myFile中设置了.php这个函数:

    function monthLanguage()
{ 
    if ($this->lang=='italian')//this statement is requared many times within the file!
    {
        $dayName[]="Dom";
        $dayName[]="Lun";
        $dayName[]="Mar";
        $dayName[]="Mer";
        $dayName[]="Gio";
        $dayName[]="Ven";
        $dayName[]="Sab";
    }else
    {       
        $dayName[]="Sun";
        $dayName[]="Mon";
        $dayName[]="Tue";
        $dayName[]="Wed";
        $dayName[]="Thu";
        $dayName[]="Fri";
        $dayName[]="Sat";       
    }
}

我正在考虑将此 if 语句包装成一个函数,以便在需要的地方调用它作为一种短代码。

我这样称呼它:

monthLanguage();

但我收到错误消息:调用未定义的函数

关于如何达到我的短代码意图的任何帮助?

您是否包含正在使用它的文件的monthLanguage函数? 另外,我发现了此代码的两个问题。 您没有启动名为 $dayNamearray,并且没有返回任何内容,因此该函数不会发回输出。 应该是这样的。

    function monthLanguage()
{ 
    $dayName = array();
    if ($this->lang=='italian')//this statement is requared many times within the file!
    {
        $dayName[]="Dom";
        $dayName[]="Lun";
        $dayName[]="Mar";
        $dayName[]="Mer";
        $dayName[]="Gio";
        $dayName[]="Ven";
        $dayName[]="Sab";
    }else
    {       
        $dayName[]="Sun";
        $dayName[]="Mon";
        $dayName[]="Tue";
        $dayName[]="Wed";
        $dayName[]="Thu";
        $dayName[]="Fri";
        $dayName[]="Sat";       
    }
    return $dayName;
}

此外,$this不清楚,因为它通常在类的作用域中使用,所以也许你需要像这样设置函数:

    function monthLanguage($lang)
{ 
    $dayName = array();
    if ($lang=='italian')//this statement is requared many times within the file!
    {
        $dayName[]="Dom";
        $dayName[]="Lun";
        $dayName[]="Mar";
        $dayName[]="Mer";
        $dayName[]="Gio";
        $dayName[]="Ven";
        $dayName[]="Sab";
    }else
    {       
        $dayName[]="Sun";
        $dayName[]="Mon";
        $dayName[]="Tue";
        $dayName[]="Wed";
        $dayName[]="Thu";
        $dayName[]="Fri";
        $dayName[]="Sat";       
    }
    return $dayName;
}

然后你会像这样在 PHP 中调用该函数:

monthLanguage($this->lang);

或者像这样:

monthLanguage($lang);

但是目前还不清楚这个函数被放置或使用在哪里,所以澄清一下,以决定哪个是最好的处理方式。

我认为你不能使用 $this->lang - 如果我没记错的话,它通常是为一种方法保留的。

尝试用这个替换函数,应该像一个魅力一样工作。

function monthLanguage($lang) { 
    if ($lang=='italian')//this statement is requared many times within the file!
    {
        $dayName[]="Dom";
        $dayName[]="Lun";
        $dayName[]="Mar";
        $dayName[]="Mer";
        $dayName[]="Gio";
        $dayName[]="Ven";
        $dayName[]="Sab";
    }else
    {       
        $dayName[]="Sun";
        $dayName[]="Mon";
        $dayName[]="Tue";
        $dayName[]="Wed";
        $dayName[]="Thu";
        $dayName[]="Fri";
        $dayName[]="Sat";       
    }
}