【问题标题】:PHP: printing array coming from a classPHP:来自一个类的打印数组
【发布时间】:2012-05-07 12:09:29
【问题描述】:

我正在自学 php,但我一直坚持表示来自一个类的数据数组。 这是 Myclass.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 文件中打印它?

非常感谢!

【问题讨论】:

    标签: php arrays class printing


    【解决方案1】:
    // 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;
    }
    

    这将帮助您以更好、更快的方式执行此操作,系统负载会很低

    【讨论】:

      【解决方案2】:
      foreach($ary as $component) {
          echo $component->iVar1;
          echo $component->strVar2
      }
      

      这将打印数组

      【讨论】:

      • 通过这样做,$ary 只进行一次迭代,并且不打印任何东西.. 为什么?
      【解决方案3】:

      只需使用 print_r($ary) 或 var_dump ($ary)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-22
        • 1970-01-01
        • 2015-07-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多