將php數組輸出html表格的方法

來源:互聯網
上載者:User

 這篇文章主要介紹了將php數組輸出html表格的方法,需要的朋友可以參考下

  代碼如下:<?phpclass 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 }  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() {  $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++)  {   $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  }}  // 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)); }$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));  }$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; }$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 />";?> 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.