我在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();
但是收到错误消息:调用未定义的函数
有关如何达到我的短代码意图的任何帮助?
答案 0 :(得分:1)
您是否将monthLanguage
函数包含在您正在使用的文件中?此外,我发现此代码存在两个问题。您没有启动array
调用$dayName
并且没有返回任何内容,因此该函数不会发回输出。它应该是这样的。
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);
但目前尚不清楚该功能的放置或使用位置,因此请明确指出哪种方式最佳。
答案 1 :(得分:0)
我认为你不能使用$ 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";
}
}