php例子
1. 可以列舉幾個簡單的php遞歸例子嗎
?
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);
}
}
}
//遞歸獲取級聯角色信息數組
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的遞歸函數用法
一個函數在它的函數體內調用它自身稱為遞歸調用。這種函數稱為遞歸函數。這對於程序員來說,通常有很高的實用價值,常用來將復雜的問題分解為簡單的並相同的情況,反復做這種處理直到問題解決。
用遞歸函數與不用遞歸函數的區別
示例一:使用靜態變數
?
1
2
3
4
5
6
7
8
function test(){
static $dig=0;
if($dig++<10){
echo $dig;
test();
}
}
test();//12345678910
示例二:使用遞歸函數和循環實現字元串逆轉排列
?
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
遞歸函數很多時候我們可以循環替代,建議當我們不能用循環替代時再用,因為用循環我們更容易理解,更不容易出錯。
php遞歸函數
php支付遞歸函數,遞歸函數就是調用自己本身,這些函數特別適用於瀏覽動態數據結構,例如樹和列表。
幾乎沒有web應用程序要求使用復雜的數據結構
?
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);
}
}
這個程序清單中實現兩個函數,這兩個函數都可以相反的順序列印字元串的內容
函數reversr_r是通過遞歸實現的,而函數reverse_i()是通過循環實現的
2. php介面的例子
你就直接寫個類,然後寫方法,然後查詢對應的數據,返回JSON格式就行,當然這個類的方法能通過瀏覽器訪問,別人調用也是這樣來調用的
3. php ajax 求一個簡單例子
$.ajax({
url:"發送請求(提交或讀取數據)的地址",
dataType:"預期伺服器返回數據的類型",
type:"請求方式",
async:"true/false",
data:{發送到/讀取後台(伺服器)的數據},
success:function(data){請求成功時執行},
error:function(){請求失敗時執行}
});
4. PHP多態代碼實例
這篇文章主要介紹了PHP多態代碼實例,本文用2個代碼實例來演示PHP中的多態,需要的朋友可以參考下
多態定義:只關心一個介面或者基類,而不關心一個對象的具體類。(同一類型,不同結果)
這里兩個例子:
第一個,我們發現,基類定義了標准,子類進行了自我規則的實現。這是多態的一個要求。同時,這是滿足重寫;實際上這是不同類的不同表現;沒有嚴格滿足一個介面,或者基類編程。因為你調用的時候不是
stu-showGrade()
而是各自自己的方法;
?
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
33
class
stu{
public
function
showGrade(){
echo
base
class;
}
}
class
xiaomin
extends
stu{
public
function
showGrade(){
echo
is
son
show
80;
}
}
class
xiaoli
extends
stu{
public
function
showGrade(){
echo
is
son
show
60;
}
}
function
doit($obj){
if(get_class($obj)
!=
stu){
$obj-showGrade();
}
}
doit(new
xiaoli());
doit(new
xiaomin());
第二個例子:dovoice
參數規定了$obj
為animal,意識就是用介面
接受了
實現類對象。了向上轉型。這就符合同一類型,不同結果了,這就是多態;
實際上在Java中
會是
animal
a
=
new
dog();這樣子的;因為PHP
是若類型語言。沒有對象轉型機制。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
interface
animal{
public
function
voice();
}
class
cat
implements
animal{
public
function
voice(){
echo
miao~~~br;
}
}
class
dog
implements
animal{
public
function
voice(){
echo
wang
~~~br;
}
}
function
dovoice(animal
$obj){
$obj-voice();
}
dovoice(new
dog());
dovoice(new
cat());
5. PHP項目案例分析的介紹
《PHP項目案例分析》是清華大學出版社2011年12月29日出版的圖書。該書系統完整地介紹了6個實用項目和2個畢業設計,實用項目包括圖書信息管理系統、俊羽會議管理系統、夢幻網路日記、企業網站系統、明日網上書店和問鼎辦公自動化系統的設計;畢業設計包括圖書館管理系統和電子商務網站的設計。
6. 求一個php類網站一鍵登錄實例(源碼)
你進下我的wap. clcl .tk我得就是php一鍵得,就是編輯個.html文件就行,很容易,把網址編輯超練,你在超連前邊加上你名字如新浪(新浪得超連)就好,然後上傳到空間,就可以
7. 整理了php過濾字元串幾個例子
用正則表達式替換。
因為你沒有詳細說明,所以我無法給你演示,找一本正則表達式手冊,如果你熟悉php,應該很容易看懂,在php裡面有正則表達式的相關函數,比如替換/匹配都很方便。
以下是幾個例子:
正則表達式說明
/\b([a-z]+) \1\b/gi一個單詞連續出現的位置
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/將一個URL解析為協議、域、埠及相對路徑
/^(?:Chapter|Section) [1-9][0-9]{0,1}$/定位章節的位置
/[-a-z]/A至z共26個字母再加一個-號。
/ter\b/可匹配chapter,而不能terminal
/\Bapt/可匹配chapter,而不能aptitude
/Windows(?=95 |98 |NT )/可匹配Windows95或Windows98或WindowsNT,當找到一個匹配後,從Windows後面開始進行下一次的檢索匹配。
8. 求一php+mysql項目的簡單例子
IDE:我用的是eclipse 加 插件 eclipse-php 在安裝wampserver將php apache mysql結合在一起用超級方便
9. 關於php的
你是看的PHP手冊嗎,手冊後面有例子程序,你看了例子就一切都明白了,例子程序是這樣的:
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
這三個語句很典型,第一個輸出當前時間,第二輸出指定時間的時間,第三行輸出一天後的時間。
這三個語句都沒有使用第二個參數,如果使用了第二個參數,一、三語句的結果會改變,第二個的結果不變。