static function toArray($value)
static function AtoB($value)加 static 之后就可以
Main::toArray();

解决方案 »

  1.   

    这样写,public static function toArray(){}
      

  2.   

    加不加 public都无所谓
      

  3.   

    不是的,我想写的AtoB()函数是类的私有函数,不是公开的
    我换成 static public toArray() 和 static private AtoB()还是错
      

  4.   

    楼上的回答都不太准确,这个和PHP版本有关系!php4中没有对静态函数语法上的支持
    php5里面有另外php4中类的成员函数可以静态调用也可以通过对象调用
    class Main
    {
        function toArray($value)
        {
            $reArray = Main::AtoB($value);
            return $reArray;
        }
       
        function AtoB($value)
        {
             $A=$value;
             return $B
        }
    }Main::AtoB('foo');
    Mina::toArray($foo);
      

  5.   

    Call to undefined function AtoB() 
    ===================================
    你看看你是怎么调用类方法AtoB的?应该是
    $reArray = Main::AtoB();
      

  6.   


    class Main
    {
        public static function toArray($value){
            $reArray = self::AtoB($value);
            return $reArray;
        }
       
        private static function AtoB($value){
             $A=$value;
             return $A
        }
    }
    Main::toArray($val);
      

  7.   

        function AtoB($value)
        {
             $A=$value;
             return $B
        }这种函数怎么能做static呢$B从哪来啊????
      

  8.   

    静态调用一个方法,直接写 类名::方法名,比如x::y();
    这个方法,可以先加好关键字 static  比如: static function y(){};
    当然你也可以不加,无论加不加,只要你用x::y();这种静态方式调用了y方法,那么,该方法中的所有 $this 都不能用
    也就是,当你静态的调用一个方法时,这个方法里面,还可以调用的其他属性和方法,只能是
    1。全局的
    2。这方法内,局部设置的
    3。类的其他静态属性或方法,调用的时候同样为 类名::方法名 或者类名::$属性名
    比如:
    x::z();
    x::$zz; 调用类的静态属性要加个变量符号
      

  9.   

    中间的处理代码都删除了当然会变成这样
    关于第三点,要调用的类内部方法,必须是static public 的吗?我用static 和static private 都出错。但是我又不想把这个函数作为公共函数来写
      

  10.   

    Private定义的是模块[类]级私有域,只在该模块[类]中可以访问到该变量。(私有的)