1、date("Ynj",strtotime("2004-5-8"))
转化成200458不妥
比如:2004-12-1 => 2004121
      2004-1-21 => 20041212、
$a=123;
$b=256;
$c= $a+$b;
do {
  $dd = 0;
  for($i=0;$i<strlen($d);$i++)
    $dd += $d[$i];
  $d = $dd;
}while(strle($d)>1);

解决方案 »

  1.   

    2、
    $a=123;
    $b=256;
    $c= $a+$b;
    $d = $c; //少了初值 :)
    do {
      $dd = 0;
      for($i=0;$i<strlen($d);$i++)
        $dd += $d[$i];
      $d = $dd;
    }while(strle($d)>1);
      

  2.   

    class foo{
        var $res="";
        function foo($a){
           if(strlen($a)>1){
           $d="0";
               for($i="0";$i<strlen($a);$i++){
                   $d+=substr($a,$i,"1");
               }
           if(strlen($d)>1){
                  $this->foo($d);
           }
           else{
                 $this->res=$d;
         return;
           }
           }
           else{
              return $a;
           }
        }
    }//计算
    $foo=new foo("379");
    echo $foo->res;
    ?>
      

  3.   

    徐老师的应该改成
    <?php
    $a=123;
    $b=256;
    $c= $a+$b;
    $d = $c; 
    do {
      $d=(string)$d;
      $dd = 0;
      for($i=0;$i<strlen($d);$i++)
        $dd += $d[$i];
      $d = $dd;
    }while(strlen($d)>1);
    echo $d;
      

  4.   

    date("ynjHis",strtotime("2004-5-8 12:00:03"));