孫亮
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//遞歸獲得角色ID字符串
function explodeRole($roleObj, &$resultStr){
if(0 < count($roleObj->childRoleObjArr)){
foreach($roleObj->childRoleObjArr as $childRoleObj){
if('' == $resultStr){
$resultStr .= "{$childRoleObj->id}";
}else{
$resultStr .= ", {$childRoleObj->id}";
}
explodeRole($childRoleObj, $resultStr);
}
}
}
//遞歸獲取級聯(lián)角色信息數(shù)組
function makeRoleRelation(&$roleObjArr){
foreach($roleObjArr as $item){
$item->childRoleObjArr = getRoleObjArrByParentId($item->id);
if(0 < count($item->childRoleObjArr)){
makeRoleRelation($item->childRoleObjArr);
}
}
}
//通過父角色的id獲取子角色信息
function getRoleObjArrByParentId($parentid){
$operCOGPSTRTSysRole = new COGPSTRTSysRole();
$operCOGPSTRTSysRole->setColumn($operCOGPSTRTSysRole->getAllColumn());
$operCOGPSTRTSysRole->setWhere("parentroleid={$parentid}");
$roleObjArr = $operCOGPSTRTSysRole->convResult2ObjArr($operCOGPSTRTSysRole->selectTable());
return isset($roleObjArr)?$roleObjArr:array();
}
php的遞歸函數(shù)用法
一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身稱為遞歸調(diào)用。這種函數(shù)稱為遞歸函數(shù)。這對于程序員來說,通常有很高的實用價值,常用來將復雜的問題分解為簡單的并相同的情況,反復做這種處理直到問題解決。
用遞歸函數(shù)與不用遞歸函數(shù)的區(qū)別
示例一:使用靜態(tài)變量
?
1
2
3
4
5
6
7
8
function test(){
static $dig=0;
if($dig++<10){
echo $dig;
test();
}
}
test();//12345678910
示例二:使用遞歸函數(shù)和循環(huán)實現(xiàn)字符串逆轉(zhuǎn)排列
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function unreverse($str){
for($i=1;$i<=strlen($str);$i++){
echo substr($str,-$i,1);
}
}
unreverse("abcdefg");//gfedcbc
function reverse($str){
if(strlen($str)>0){
reverse(substr($str,1));
echo substr($str,0,1);
return;
}
}
reverse("abcdefg");//gfedcbc
遞歸函數(shù)很多時候我們可以循環(huán)替代,建議當我們不能用循環(huán)替代時再用,因為用循環(huán)我們更容易理解,更不容易出錯。
php遞歸函數(shù) php支付遞歸函數(shù),遞歸函數(shù)就是調(diào)用自己本身,這些函數(shù)特別適用于瀏覽動態(tài)數(shù)據(jù)結(jié)構(gòu),例如樹和列表。幾乎沒有web應用程序要求使用復雜的數(shù)據(jù)結(jié)構(gòu)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
function reversr_r($str)
{
if (strlen($str)>0)
reverse_r(substr($str,1));
echo substr($str,0,1);
return;
}
?>
<?php
function reverse_i($str)
{
for($i=1;$i<=strlen($str);$i++)
{
echo substr($str,-$i,1);
}
}
這個程序清單中實現(xiàn)兩個函數(shù),這兩個函數(shù)都可以相反的順序打印字符串的內(nèi)容函數(shù)reversr_r是通過遞歸實現(xiàn)的,而函數(shù)reverse_i()是通過循環(huán)實現(xiàn)的
毛十三
PHP連接數(shù)據(jù)庫之PHP連接MYSQL數(shù)據(jù)庫代碼< ?php $mysql_server_name='localhost'; //改成自己的mysql數(shù)據(jù)庫服務器 $mysql_username='root'; //改成自己的mysql數(shù)據(jù)庫用戶名 $mysql_password='12345678'; //改成自己的mysql數(shù)據(jù)庫密碼 $mysql_database='mycounter'; //改成自己的mysql數(shù)據(jù)庫名 $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); $sql='CREATE DATABASE mycounter DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; '; mysql_query($sql); $sql='CREATE TABLE `counter` (`id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT ,`count` INT(255) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY ( `id` ) ) TYPE = innodb;'; mysql_select_db($mysql_database,$conn); $result=mysql_query($sql); //echo $sql; mysql_close($conn); echo "Hello!數(shù)據(jù)庫mycounter已經(jīng)成功建立!"; ?> PHP連接數(shù)據(jù)庫之PHP連接ACCESS數(shù)據(jù)庫代碼方法< ? $conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("data/db.mdb"); $conn->Open($connstr); $rs = new com("ADODB.RecordSet"); $rs->Open("select * from szd_t",$conn,1,1); while(! $rs->eof) { $f = $rs->Fields(1); echo $f->value; $rs->MoveNext(); } ?>
驚艷一槍
一、基本用法:{dede:field.descriptionrunphp='yes'}if(@me<>'' )@me = '<div class="intro">'.@me.'</div>';{/dede:field.description} {dede:field name='imgurls' alt='圖片輸出區(qū)'}[field:pagestylerunphp='yes'] @me= (@me==3 ? '<li>' : '');[/field:pagestyle]<a href='[field:linkurl/]' [field:pagestyle runphp='yes'] @me= (@me==3 ? 'class="pic"' : ''); [/field:pagestyle]><img src='[field:imgsrc/]' id='bigimg' [field:imgwidth /] alt='[field:alttext /]' border='0' /></a><a href='[field:linkurl/]' [field:pagestyle runphp='yes']@me = (@me==3 ? 'class="title"' : '');[/field:pagestyle]>[field:title /]</a>[field:pagestyle runphp='yes'] @me = (@me==3 ? '</li>' : ''); [/field:pagestyle]{/dede:field}二、高級用法:1、dede后臺->系統(tǒng)->系統(tǒng)設置->系統(tǒng)基本參數(shù)->其它選項->把“模板引擎禁用標簽”中的"php"標簽去掉,保存2、使用:{dede:php}echo 'php';{/dede:php} {dede:php}$result = mysql_query("select * from bbs_forum_forum t1 left join bbs_forum_forumfield t2 on t1.fid=t2.fid where status=1 andtype='forum' order by t1.displayorder asc");while($row = mysql_fetch_assoc($result)){ echo '<table cellpadding="0" cellspacing="0" width="100%" border="0" class="pbw_bbsTable">'; echo '<tr>'; echo '<td width="64">'; echo '<a href="/bbs/forum.php?mod=forumdisplay&fid='.$row['fid'].'"> <img src="/bbs/data/attachment/common/'.$row['icon'].'" width="46" height="46" style="border:1px solid #000;" /></a>'; echo '</td>'; echo '<td width="465">'; echo '<div class="pbw_bbsTitle"><a href="/bbs/forum.php?mod=forumdisplay&fid='.$row['fid'].'">'.$row['name'].'</a><span>('.$row['threads'].')</span></div>'; echo '<div class="pbw_bbsBrief">'.$row['description'].'</div>'; echo '<div style="color:red;">'.$row['rules'].'</div>'; $moderators = explode(" ", $row['moderators']); $moderators = implode(",", $moderators); echo '<div class="pbw_bbsBanzhu">版主:'.$moderators.'</div>'; echo '</td>'; echo '<td width="90"> </td>'; echo '<td width="120" align="center">'; echo $row['threads'].'/'.$row['posts']; echo '</td>'; echo '<td>'; $lastpost = explode(" ", $row['lastpost']); echo '<a href="/bbs/forum.php?mod=viewthread&tid='.$lastpost[0].'#lastpost">'.$lastpost[1].'</a> (<a href="/bbs/home.php?mod=space&username='.$lastpost[3].'" style="color:#369">'.$lastpost[3].'</a>)<br />'; echo date("Y-m-d H:i:s", $lastpost[2]); echo '</td>'; echo '</tr>'; echo '</table>';}{/dede:php}
岳雯
嘻嘻 這個 不難 但很難說 只能給你個思路ODBC odbc_connect() 連接方法
謝謝您的回答,我想問一下,查出來的結(jié)果放到哪?怎么遍歷查詢結(jié)果
odbc有一個完整的支持的,請參見手冊。比如返回的依然是資源句柄
可以用while 如以下是我用odbc來連接access的例子,你可以看一下。
$db_host = "127.0.0.1"; $db_user = "sa"; $db_pass = "887799"; $mdbFilename ="C:\Program Files\Microsoft SQL Server\access\eurovmy@2012.mdb"; $dsn = "DRIVER={Microsoft Access Driver (*.mdb)};" . "Dbq=$mdbFilename"; $handle=odbc_connect($dsn, $db_user, $db_pass); // odbc_exec($handle,"use my_database"); $sql ="select * from KS_admin"; $result = odbc_exec($handle,$sql); $arr=array(); while($r = odbc_fetch_array($result)){ $arr[] = $r; } var_dump($arr); 最后提醒一句,你要正確的配置DSN.
璇光尺
/*********************************************************發(fā)送trackback程序參數(shù),主機地址,標題,這篇文章的地址,內(nèi)容,站點名稱*********************************************************/function sendTrackback($host,$title,$url,$excerpt,$blog_name) { $buf=""; $host = str_replace('http://', '', $host); $path = explode('/', $host); $host = $path[0]; $host_array=explode(':', $host); $host=$host_array[0]; if(empty($host_array[1])){ $port=80; }else{ $port=$host_array[1]; } unset($path[0]); $path = '/' . implode('/', $path); $excerpt = cn_substr($excerpt,252); $fp = @fsockopen($host, $port, $errno, $errstr, 30); if(!$fp) { Return false; } $query = 'title=' . rawurlencode($title); $query .= '&url=' . rawurlencode($url); $query .= '&excerpt=' . rawurlencode($excerpt); $query .= '&blog_name=' . rawurlencode($blog_name); $out = 'POST ' . $path . ' HTTP/1.1' . "\r\n"; $out .= 'Host: ' . $host . "\r\n"; $out .= 'Connection: close' . "\r\n"; $out .= 'Content-Length: ' . strlen($query) . "\r\n"; $out .= 'Content-Type: application/x-www-form-urlencoded; charset=iso-8859-1' . "\r\n\r\n"; $out .= $query . "\r\n"; fwrite($fp, $out); while (!feof($fp)) $buf .= fgets($fp,128); fclose($fp); $arr=explode("<error>",$buf); $return_num=intval(substr($arr[1], 0, 1)); if($return_num==0){ return "發(fā)送成功 "; }else{ $arr2=explode("message",$buf); $return_msg=str_replace(">", "", $arr2[1]); $return_msg=str_replace("</", "", $return_msg); return "發(fā)送失敗:".$return_msg; }}
辟邪神璧
打開chm文檔看最右側(cè),選項---Internet選項---常規(guī)---輔助功能,忽略網(wǎng)頁上的指定字號前打鉤,就可以看示例了
莉莉絲
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"</head> <div id='text'>CMS發(fā)布系統(tǒng)<br/>version 1.0</br></br><!--{$today}--></div></div> </div> </a> </a> </a> </a> </div> </div> <div class="body"> <div class="cat-image"><img src="<!--{$row.catImage}-->" alt="<!--{$row.catTitle}-->" /></div> <div class="article-list"> <ul> <!--{foreach from = $row.artList item=row1}--> <li>·<a href="<!--{$row1.linkPath}-->"><!--{$row1.title}--></a></li> <!--{/foreach}--> </ul> </div> <div class="clear-both"></div> </div> <div class="bottom"></div> </div> <!--{/foreach}--> <!--{/if}--> </div> <div class="clear-both"></div></div><!-- 版權(quán)部分 --><div id="foot"> <div id="adv"> <a href="admin/">管理登錄</a> </div> <div id="sql"> Query Times: <!--{$queryTime}--> <br />Execute Time: <!--{$executeTime}--> ms </div></div></body></html>
祝鶚
===代表比較對象的類型也要一致。==表示只要值相等就滿足條件php> var_dump(1=="1") bool(true) php> var_dump(1==="1") bool(false)
閔洪學
強制類型轉(zhuǎn)換一般分為隱式和顯式的,元數(shù)據(jù) 顯式 隱式$n = 100; (string)$n $n . ''$n = '100'; (int)$n $n + 0;$b = 1; (boolean)$b !$b.......