2012-05-07 16 views
0

私は自分自身にPHPを教えています。私はクラスから来たデータ配列を表現することに固執しています。ここ はMyclass.phpです:PHP:クラスからの配列の印刷

class Myclass 
    { 

     private $iVar1; 
     private $strVar2; 



     public function __construct() 
     { 
      $this->initialize(); 
     } 


     private function initialize() 
     { 
      $this->iVar1 = null; 
      $this->strVar2 = null; 
     } 

     public function getParam1() 
     { 
      return $this->iVar1; 
     } 


     public function setParam1($value) 
     { 
      $this->iVar1 = $value; 
     } 


     public function getParam2() 
     { 
      return $this->strVar2; 
     } 


     public function setParam2($value) 
     { 
      $this->strVar2 = $value; 
     } 


    } 

    class MyclassDAO 
    { 

     static public function load($oBD, $idObjet) 
     { 

      $aryM = MyclassDAO::getAryM($oBD, $idObjet); 

      return $aryM[0]; 
     } 

     static public function getAryM($oBD, $omy) 
     { 
      $aryCollection = array(); 

       $sSql = 'EXEC MYDB.dbo.SELECT_MYPROCEDURE '; 

       if (!is_null($omy->getParam1())) 
       { 
        $sSql .=" @param1 = '".$omy->getParam1()."',"; 
       } 
       if (!is_null($omy->getParam2())) 
       { 
        $sSql .=" @param2 = '".$omy->getParam2()."',"; 
       } 

       //I delete de last , 
       $sSql = substr($sSql,0,strlen($sSql)-1); 


         while ($d = $oBD->fArray()) 
         { 
          $omy = new GrupoAlumno(); 
          $omy->setParam1($d['param1']); 
          $omy->setParam2($d['param2']); 
          $aryCollection[] = $omy; 
         } 

      return $aryCollection; 
     } 



    } 

そして、ここでは私のPHPファイルです:

require_once "Myclass.php"; 
$var1=1; 
$var2=’Y’;  
$om = new Myclass(); 
      $om->setParam1($var1); 
      $om->setParam2($var2); 
      $omDAO = new MyclassDAO(); 
      $ary= $omDAO->load($myObjDB, $om); 
// the printing of the info here 

クラスによって返された情報は、このような構造を持っている:私は私の中でそれを印刷するにはどうすればよい

$ary: array= 
0:object(Myclass)= 
iVar1:long=113 
strVar2:string=SOMEINFO 
1: object(Myclass)= 
iVar1:long=114 
strVar2:string=SOMEINFO2 

PHPファイル??

ありがとうございます!

答えて

0
foreach($ary as $component) { 
    echo $component->iVar1; 
    echo $component->strVar2 
} 

を使用しますシステム負荷が低い

+0

これを行うと、$ aryは1回の繰り返ししか保持しませんし、何も印刷しません。なぜですか? – user712027

0

ただこれは、はるかに優れかつ迅速な方法でこれを行うにお手伝いを致します。これは、配列

2
// Displays a multi-dimensional array as a HTML unordered lists. 
function displayTree($array) { 
    $newline = "<br>"; 
    foreach($array as $key => $value) { //cycle through each item in the array as key >=> value pairs 
     if (is_array($value) || is_object($value)) {   
     //if the VALUE is an array, then 
     //call it out as such, surround with brackets, and recursively call displayTree. 
     $value = "Array()" . $newline . "(<ul>" . displayTree($value) . "</ul>)" . $newline; 
     } 
     //if value isn't an array, it must be a string. output its' key and value. 
     $output .= "[$key] => " . $value . $newline; 
    } 
    return $output; 
} 

を印刷しますますprint_r($の進)またはのvar_dump($進)