<?php
funktion asdf(){...}
class a {
   funktion a ($member){
      //解出来
      foreach ($member as $key => $value) {
$$key = $value;
      }
   }
   funktion b {...}
         }
这里放几个都行
$member = {'a'=>xxxx,
           'b'=>xxxx
};
$objp=new a();
$objp-> b();
?>

解决方案 »

  1.   

    class Pie3d{
    var $a; 
    var $b; 
    var $DataArray;  
    var $ColorArray;
    var $bbb;
    function Pie3d($pa=100,$pb=60, $sColor="ff0000,cccccc,993399,ff00ff,ffff00,6600ff,66cc00,40ffff,99ff33,006600")
    {
        $this->bbb = $aaa[0][1].",".$aaa[1][1].",".$aaa[2][1].",".$aaa[3][1].",".$aaa[4][1].",".$aaa[5][1].",".$aaa[6][1].",".$aaa[7][1].",".$aaa[
        $this->a=$pa;
        $this->b=$pb;
        $this->DataArray=split(",",$this->bbb);
        $this->ColorArray=split(",",$sColor);
        echo($this->aaa);
    }
    ...
    function  DrawPie(){
        $image=imagecreate($this->a*2+40,$this->b*2+40);
    ....}//End drawPie()
    }//End class
    $objp = new Pie3d();
    $objp->DrawPie();
    ?>这里的是aaa[x][x]等,是我的参数,我要取不同的值。运行几遍。刚才我描述的不对。
      

  2.   

    可以使用一种模拟的重载过程:
    通过 func_args_num() 可以得到有几个参数,再通过 func_get_arg(int) 来得到每个参数,
    当然,也可以通过 func_get_args() 来得到所有参数。
    可以这样:
    //只有一个字符串参数
    if(1 == func_args_num() && is_string(func_get_arg(0))){
    ...
    }else
    //两个参数,一个是数值,另一个是 AClass 类型的对象
    if(2 == func_args_num() && is_numric(func_get_arg(0)) && is_a(func_get_arg(1), 'AClass')){
    ...
    }
      

  3.   

    function Pie3d($aaa,$pa=100,$pb=60, $sColor="ff0000,cccccc,993399,ff00ff,ffff00,6600ff,66cc00,40ffff,99ff33,006600") {
    .....构造函数中$aaa为必传参数,其他有默认值$objp = new Pie3d($array1);
    $objp->DrawPie();$objp = new Pie3d($array2);
    $objp->DrawPie();
    $objp = new Pie3d($array3);
    $objp->DrawPie();
      

  4.   

    ......                                                                                                                        
    header("Content-type: image/png");                                                                                           
        imagepng($image,$picfilename);                                                                                           
        imagedestroy($image);                                                                                                    
                                                                                                                                 
    }                                                                                                                            
    &#200;&#187;&#186;ó&#212;&#218;&#181;÷&#211;&#195;&#181;&#196;&#202;±&#186;ò&#212;&#217;°&#209;&#178;&#206;&#202;&#253;&#180;&#171;&#189;&#248;&#200;&#165;&#163;&#172;&#200;&#231;&#185;&#251;&#202;&#199;&#182;à&#184;&#246;&#178;&#206;&#202;&#253;&#163;&#172;°&#209;&#203;ü&#195;&#199;×é&#186;&#207;&#179;&#201;&#210;&#187;&#184;&#246;&#202;&#253;×é&#163;&#172;&#212;&#217;&#211;&#195;&#210;&#187;&#184;&#246;for&#209;&#173;&#187;·°¤&#184;&#246;&#181;÷&#211;&#195;&#186;&#195;&#193;&#203;&#163;&#172;&#207;&#200;&#178;&#185;&#179;&#228;&#210;&#187;&#184;&#246;&#202;&#253;×é±&#228;&#193;&#191;&#181;&#196;&#182;¨&#210;&#229;&#163;&#186;
    $newVar[0] = "&#214;&#181;1";                                                                                                          
    $newVar[1] = "&#214;&#181;2";                                                                                                          
    $newVar[2] = "&#214;&#181;3";                                                                                                          
    ......                                                                                                                       
    $objp = new Pie3d();                                                                                                         
    for($i=0;$i<sizeof($newVar);$i++)                                                                                            
    $objp->DrawPie($newVar[$i]);