返回数组不工作的函数。php

返回数组不工作的函数。php,php,arrays,function,Php,Arrays,Function,好的,你们能帮帮我吗。这就是函数。它得到3个aurguments,并返回一个数组。它将公历日期转换为波斯日期。它位于Includes/dateConvert.php中 public static function toJalali($g_y, $g_m, $g_d) { $g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); $j_days_in_month = array(31,

好的,你们能帮帮我吗。这就是函数。它得到3个aurguments,并返回一个数组。它将公历日期转换为波斯日期。它位于Includes/dateConvert.php中

    public static function toJalali($g_y, $g_m, $g_d)
{
    $g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    $j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
    $gy = $g_y-1600;
    $gm = $g_m-1;
    $gd = $g_d-1;
    $g_day_no = 365*$gy+self::div($gy+3, 4)-self::div($gy+99, 100)+self::div($gy+399, 400);
    for ($i=0; $i < $gm; ++$i)
        $g_day_no += $g_days_in_month[$i];
    if ($gm>1 && (($gy%4==0 && $gy%100!=0) || ($gy%400==0)))
        $g_day_no++;
    $g_day_no += $gd;
    $j_day_no = $g_day_no-79;
    $j_np = self::div($j_day_no, 12053);
    $j_day_no = $j_day_no % 12053;
    $jy = 979+33*$j_np+4*self::div($j_day_no, 1461);
    $j_day_no %= 1461;
    if ($j_day_no >= 366) {
        $jy += self::div($j_day_no-1, 365);
        $j_day_no = ($j_day_no-1)%365;
    }
    for ($i = 0; $i < 11 && $j_day_no >= $j_days_in_month[$i]; ++$i)
        $j_day_no -= $j_days_in_month[$i];
    $jm = $i+1;
    $jd = $j_day_no+1;
    return array($jy, $jm, $jd);
}
现在,当我写下面这样的东西时,代码什么都不做

<?php
require ("Includes/dateConvert.php");
$yy = 1989;
$mm = 8;
$dd = 31;
echo $yy.$mm.$dd;
echo "<br><br>";
$jj = toJalali($yy, $mm, $dd);
echo $jj[0].$jj[1].$jj[2];
?>


我做错了什么?谢谢。

在我看来,您的函数定义如下

public static function toJalali
这意味着该函数作为某个类的方法。我不知道的名称,让我们称之为
ClassName
。由于此函数是静态的,因此可以在不创建类实例的情况下调用它,如:

ClassName::toJalali()
删除@EliasNicolas建议的
公共静态
将不起作用,因为函数仍然是类的方法

如果您想将函数用作独立函数,那么您应该从类中剪切/复制函数代码,是的,删除
public static
。所以这将是公正的

function toJalali()

在任何类别代码之外。

公共静态函数
至少是类别的成员。调用
$jj=toJalali
意味着调用其他函数。哦,你是对的。所以我必须单独排除该函数并正确使用它?调用静态函数就像
ClassName::MethodName
谢谢。实际上,我不需要整个代码来工作,只需要函数就足够了,所以如果复制代码并将其包含在我的php文件中,它会工作吗?我想我必须改变自己的部分,以及它是指类。是的,它做了工作,谢谢你只是张贴你的答案下来,所以我可以选择它作为解决方案。
function toJalali()