我在PHP类中有一个函数,其内容如下:
//properties
var $title;
var $thePage;
function gBuildTable($theArray){
//given a 2D array, builds an HTML table based on that array
$table = "<table> \n";
foreach ($theArray as $row){
$table .= "<tr> \n";
foreach ($row as $cell){
$table .= " <td>$cell</td> \n";
} // end foreach
$table .= "</tr> \n";
} // end foreach
$table .= "</table> \n";
return $table;
} // end gBuildTable
function buildTable($theArray){
$temp = $this->gBuildTable($theArray);
$this->addText($temp);
} // end buildTable
function addText($content){
//given any text (including HTML markup)
//adds the text to the page
$this->thePage .= $content;
$this->thePage .= "\n";
} // end addText
function gAddText($content){
//given any text (including HTML markup)
//returns the text
$temp= $content;
$temp .= "\n";
return $temp;
} // end addText
那么我有一堆数据可以构建成2D数组(希望它的结构正确):
$data = array(
array("Name", $name),
array("Email", $email),
array("Hobby", $hobby),
array("", $stamp)
);
$obj = &New sH; //the class name
$obj->buildTable($data);
我是否进行了一些愚蠢的疏忽或者我没有看到的东西?这不会产生任何东西,它可以回来空。没有错误,没有警告,没有通知,NADA。
仅供参考:$name
等变量以前都已初始化并设置,它们不是NULL。对于我做错了什么的任何帮助,将不胜感激。 TIA
PS。我在current()
循环中使用foreach
来回显它当时看到的内容,并且它看到了数据,所以我不知道为什么它实际上没有做任何事情。
我无法相信我错过了它,没有其他人抓住它,但它可以,是编码的精彩世界的一部分。我通过注意到它缺少一行来获取正在构建的内部对象来解决它:
echo $obj->$thePage;
答案 0 :(得分:1)
您需要echo $table;
功能..!
或存储函数返回的值并在主代码中回显。
$data = array(
array("Name", $name),
array("Email", $email),
array("Hobby", $hobby),
array("", $stamp)
);
$obj = &New sH; //the class name
$table = $obj->buildTable($data);
echo $table;