2012-05-07 4 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 имеет только одну итерацию, и она не печатает вещь .. почему? – user712027

0

Просто используйте print_r ($ кратную) или var_dump ($ ичных)

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; 
} 

Это поможет вам сделать это в гораздо лучше и быстрый способ , где системная нагрузка будет низкой

Смежные вопросы