php写一个数组用html表格输出这个数组

如题所述

1、首先输入:

<?php

class xtable

{

 private $tit,$arr,$fons,$sextra;

 public function __construct()

 {

  $this->tit=array();       // strings with titles for first row 

  $this->arr=array();       // data to show on cells

  $this->fons=array("#EEEEEE","#CCEEEE");  // background colors for odd and even rows

  $this->sextra="";       // extra html code for table tag

 }

2、然后输入

 public function extra($s)      // add some html code for the tag table

 {

  $this->sextra=$s;

 }

 public function background($arr) {if (is_array($arr)) $this->fons=$arr; else $this->fons=array($arr,$arr);}

 public function titles($text,$style="") {$this->tit=$text; $this->sesttit=$style;}

 public function addrow($a) {$this->arr[]=$a;}

 public function addrows($arr) {$n=count($arr); for($i=0;$i<$n;$i++) $this->addrow($arr[$i]);}

 public function html()

3、然后输入:

 {

  $cfondos=$this->fons;

  $titulos="<tr>";

  $t=count($this->tit);

  for($k=0;$k<$t;$k++)

  {

   $titulos.=sprintf("<th>%s</th>",$this->tit[$k])

  }

  $titulos.="</tr>";

$celdas="";

  $n=count($this->arr);

  for($i=0;$i<$n;$i++)

4、然后输入:

{
$celdas.=sprintf("<tr style='background-color:%s'>",$this->fons[$i%2]);

   $linea=$this->arr[$i];

   $m=count($linea);

   for($j=0;$j<$m;$j++)

    $celdas.=sprintf("<td  %s>%s</td>","",$linea[$j]);

   $celdas.="</tr>";

  }
return sprintf("<table cellpadding='0' cellspacing='0' border='1' %s>%s%s</table>",$this->sextra,$titulos,$celdas);

 }

 public function example()

 {

  $tit=array("Apellidos","Nombre","Telefono"); 

  $r1=array("Garcia","Ivan","888"); 

  $r2=array("Marco","Alfonso","555"); 

  $x=new xtable(); 

  $x->titles($tit);      //take titles array

  $x->addrows(array($r1,$r2));   // take all rows at same time
return $x->html();     //return html code to get/show/save it 

 }     

}

5、然后输入:

// Example

$t1=new xtable();

echo $t1->example()."<hr />";

$t2=new xtable();

for($i=1;$i<=10;$i+=2)

 {

  $t2->addrow(array("ODD",$i));

  $t2->addrow(array("EVEN",$i+1));


}

6、然后输入:

$t2->background(array("pink","gold"));

$t2->titles(array("TYPE","#"));

$t2->extra(" style='width:500px; background-color:cyan; color:navy;'");

echo $t2->html()."<hr />";

$t3=new xtable();

for($i=1;$i<=6;$i++)

 {

  $t3->addrow(array("5x".$i,5*$i));


}

7、然后输入:

$t3->background(array("olive","maroon"));

$t3->titles(array("Multiplication table","5"));

$t3->extra("style='border:dotted red 10px; padding-left:4px;padding-right:4px; text-align:right;width:500px; background-color:black; color:white;'");

echo $t3->html()."<hr />";

$t4=new xtable();

$a=array("#");

for($i=1;$i<=10;$i++)

 {

  $a[]=$i;

 }

8、然后输入:

$t4->addrow($a);

$t4->background(array("pink","gold"));

$tit=array(); $tit[]="Numbers";

for($i=1;$i<=10;$i++) $tit[]="#";

$t4->titles($tit);

$t4->extra("style='border:solid 1px silver; padding-left:4px;padding-right:4px; text-align:center;width:500px; background-color:cyan; color:navy;'");

echo $t4->html()."<hr />";

?>

9、然后就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-15
<?
function out_table($in){
$str = $str_tmp = "";
foreach ($in AS $k=>$v){
if(is_array($v) ){
foreach ($v AS $k1=>$v1){
$str_tmp .= "<td>{$k1}:{$v1}</td>";
}
$str .= "<tr>{$str_tmp}</tr>";
$str_tmp = "";
}else{
$str .= "<tr><td>{$k}:{$v}</td></tr>";
}
}
$str = "<html><body><table>{$str}</table></body></html>";
echo $str;
}
$temp = array("hi1"=>'ttt', "hi2"=>array('cc1','cc2'), "hi3"=>'bbbb');
out_table($temp);
?>本回答被提问者和网友采纳
第2个回答  2012-11-16
直接拼html就好了 , 然后echo输出。
第3个回答  2012-11-16
楼上的AS应该是as 大写不行哦

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网