程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 寫了個函數

寫了個函數

編輯:關於PHP編程

  /**
* 函數 data_box
* 功能 根據模板輸出數據源中的內容
* 參數
* $fun 回調函數,必須提供。作用是從數據源中讀取數據。要求返回的最好是關聯數組
* $source 數據源,必須提供。可以是數組或查詢結果
* $template 模板,可以沒有。未提供模板時用標准表格輸出數據
* 模板格式:
* array(top=>"",block=>"",fool=>"")
* 其中:
* top 開始部分
* block 可重復部分,變量為關聯數組的鍵,形如$IN_varname。其中前導的IN_可省略
* fool 結束部分
*/
function data_box($_fun,$_source,$_template="") {
$_ar = $_fun(&$_source);
if($_template == "") {
while(list($k,) = each($_ar)) {
$th .= "$k";
$td .= "$IN_$k";
}
$_template = array(top=>"$th",block=>"$td",fool=>" ");
}else if(! preg_match("/$IN_w+/",$_template[block]))
$_template[block] = preg_replace("/[$](w*)/U","$IN_1",$_template[block]);
$buf = eval("return "$_template[top]";");
do {
extract($_ar, EXTR_PREFIX_ALL, "IN");
$buf .= eval("return "$_template[block]";");
}while($_ar = $_fun(&$_source));
$buf .= eval("return "$_template[fool]";");
return $buf;
}
function get_data($source) {
if(list($k,$v) = each($source))
return $v;
return false;
}
$arr = array(
array(a=>1,b=>2,c=>3,11,12,31),
array(a=>11,b=>12,c=>13,11,12,131)
);
echo data_box("get_data",$arr);
echo data_box("get_data",$arr,array(top=>"列表測試
"));

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved