打印对象内部的对象变量

时间:2015-02-23 09:10:46

标签: php arrays object for-loop echo

好吧,我一直试图让我的crm打印每个公司的多个联系人,但我不能让它工作

公司是一个班级,公司联系是一个班级

//类叫做公司

 function __construct($idklanten,$naam,$adres,$postcode,$stad,$contacten){
    $this->idklanten=$idklanten;
    $this->naam=$naam;
    $this->adres=$adres;
    $this->postcode=$postcode;
    $this->stad=$stad;
    $this->contacten=$contacten;

}

//类叫做联系

    function __construct($idcontactklanten,$voornaam,$tussenvoegsel,$achternaam,$tel,$email,$klantID){
    $this->idcontactklanten=$idcontactklanten;
    $this->voornaam=$voornaam;
    $this->tussenvoegsel=$tussenvoegsel;
    $this->achternaam=$achternaam;
    $this->tel=$tel;
    $this->email=$email;
    $this->klantID=$klantID;
}

//联系人的getname

  function getNaam() {
    if(strlen($this->gettussenvoegsel()) == 0) {

        return $this->getvoornaam()." ".$this->getachternaam()."";
    }
    else {


        return $this->getvoornaam() . " "  . $this->gettussenvoegsel() . " " .  $this->getachternaam();
    }
}

//用于从我的对象公司获取名称的函数,包含联系人对象的数组

 function getcontacten(){           
        $ct=$this->contacten[$teller];
        $txt="";
        for($teller=0;$teller<10;$teller++){
            $txt+=$ct->getNaam()."<br>";
        }
     return $txt;
}

然后在我的索引页面上,当我调用getcontacten()时,它与我工作的其他get函数相比不起作用。它只输出一个0

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您最大的错误如下:

$txt+=$ct->getNaam()."<br>";

应该是

$txt.=$ct->getNaam()."<br>";

因为要附加到字符串,请使用“。=”,而不是“+ =”。

另外我不知道你的代码的其他部分是否有效,我会写下面的内容:

$txt = "";
foreach ($this->contacten as $ct){
    $txt .= $ct->getNaam() . "<br />";
}
return $txt;

$txt = "";
for ($i = 0; $i < count($this->contacten); $i++){
    $txt .= $this->contacten[$i]->getNaam() . "<br />";
}
return $txt;