複製代碼 代碼如下: /** * 尋找 * **/ // 順序尋找 function normal_search($arrData,$val) { $len = count($arrData); if($len == 0) return -1; for($i = 0;$i echo "find No.",$i + 1," value = ",$arrData[$i]," is = ",$val,"? "; // 找到了 if($arrData[$i] == $val) return $i; }
例如,一個交通工具可以定義有顏色、輪胎數、製造商、型號和容量等性質,並定義有停止、前進、轉彎和鳴笛等行為。在OOP術語中,實體的性質和行為的具體定義稱為類(class)。 類的定義與建立 類是具有相同屬性和服務的一組對象的集合。它為屬於該類的所有對象提供了統一的抽象描述,其內部包括屬性和方法兩個主要部分。在物件導向的程式設計語言中,類是一個獨立的程式單位,它應該有一個類名並包括屬性說明和方法說明兩個主要部分。 類用於表示要在應用程式中處理的實際事物。例如,假設要建立一個管理公用圖書館的應用程式,
1、與mysql相關 mysql_connect 建立一個與MySQL伺服器的串連 文法 resource mysql_connect(string server[,string usingname[,string password[, bool new_link[,int client_flags]]]]) eg: 複製代碼 代碼如下: $DB_HOST ="localhost"; $DB_LOGIN ="root"; $DB_PASSWORD =" 123456"; $conn=mysql_
但是, 這樣做, 就沒辦法做一些統計, 許可權檢查, 等等的工作. 於是, 很多時候, 我們採用讓PHP來做轉寄, 為使用者提供檔案下載. 複製代碼 代碼如下: $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream"); header('Content-Disposition: attachment; filename="' . basename($file) . '"');
演算法思路:把每一個數字看做一個獨立的數學運算式,運算式之間加上標點符號組合成新運算式,一共組合4次,運算式之間的所有組合可以通過遞迴來實現. 代碼如下: 複製代碼 代碼如下: /** * A 24 maker * @version 1.0.0 * @author laruence * @copyright (c) 2009 http://www.laruence.com */ class TwentyFourCal { public $needle = 24; public
經常會有人問我, PHP的數組, 如果用foreach來訪問, 遍曆的順序是固定的麼? 以什麼順序遍曆呢? 比如: 複製代碼 代碼如下: $arr['laruence'] = 'huixinchen'; $arr['yahoo'] = 2007; $arr['baidu'] = 2008; foreach ($arr as $key => $val) { //結果是什麼? } 又比如: 複製代碼 代碼如下: $arr[2] = 'huixinchen'; $arr[1] = 2007;
例如: SQL注入攻擊 XSS攻擊 複製代碼 代碼如下: 任意執行代碼 檔案包含以及CSRF. } 關於SQL攻擊有很多文章還有各種防注入指令碼,但是都不能解決SQL注入的根本問題 見代碼: 複製代碼 代碼如下: mysql_connect("localhost","root","123456")or die("資料庫連接失敗!"); mysql_select_db("test1"); $user=$_post['uid']; $pwd=$_POST['pass'];
複製代碼 代碼如下: /** * 逆序二維數組插入一元素 * * @author WadeYu * @date 2012-05-30 */ $aSorted = array( array(1, 100), array(2, 90), array(3, 80), array(4, 70), array(5, 60), array(6, 50), array(7, 40), array(8, 40), array(9, 40), array(10, 20), ); $aInsert = array(
總結: 使用PHP下載檔案的操作需要給出四個header(),可以參考我的另一篇博文:PHP如何?下載功能超詳細流程分析 計算檔案的大小的時候,並不需要先開啟檔案,通過filesize($filename)就可以看出,如果需要先開啟檔案的話,filesize可能就會是這樣的形式了filesize($filehandle)
複製代碼 代碼如下: /** * PHP 年齡計算函數 * * 參數支援數組傳參和標準的 Mysql date 類型傳參 * params sample * -------------------------------------------------- $birthArr = array( 'year' => '2000', 'month' => '11', 'day' => '3' ); $birthStr = '2000-11-03'; * ----------------------
用戶端從服務端下載檔案的流程分析: 瀏覽器發送一個請求,請求訪問伺服器中的某個網頁(如:down.php),該網頁的代碼如下。 伺服器接受到該請求以後,馬上運行該down.php檔案 運行該檔案的時候,必然要把將要被下載的檔案讀入記憶體當中(這裡是聖誕狂歡.jpg這張圖片),這裡通過fopen()函數完成該動作 注意:任何有關從伺服器下載的檔案操作,必然需要先在服務端將檔案讀入記憶體當中 現在檔案已經在記憶體當中了,這是需要從記憶體當中讀取檔案,通過fread()函數完成該動作
複製代碼 代碼如下: /** * 序號產生器 */ function snMaker($pre = '') { $date = date('Ymd'); $rand = rand(1000000,9999999); $time = mb_substr(time(), 5, 5, 'utf-8'); $serialNumber = $pre.$date.$time.$rand; // echo strlen($serialNumber).''; return $serialNumber; }
定義頂級異常處理器用到的函數是 set_exception_handler("My_exception"); 這裡的My_expection是開發人員自訂的異常處理函數,既頂級異常處理器,只有當程式中沒有函數來處理異常才有頂級異常處理器來處理異常,如果沒有定義頂級異常處理器,則由系統預設的異常處理器來處理異常 舉例說明: 複製代碼 代碼如下: set_exception_handler("My_expection"); function My_expection(){ echo
我們在搜尋一些東西時會經常遇到可以通過空格隔開來達到輸入多個條件的目的。今天正好項目中遇到了這個情況,就寫了一個函數,將多個條件放到數組裡。目前支援空格、逗號(中英文)、斷行符號分割,如不能滿足需求,看下這個函數修改一下應該就可以了複製代碼 代碼如下: /** * transform ' hello, world !' to array('hello', 'world') */ function strsToArray($strs) { $result = array(); $array =
1、首先php5提供了基本的異常處理類,可直接使用 複製代碼 代碼如下: class Exception { protected $message = 'Unknown exception'; // 異常資訊 protected $code = 0; // 使用者自訂異常代碼 protected $file; // 發生異常的檔案名稱 protected $line; // 發生異常的程式碼號 function __construct($message = null, $code = 0);
fixHtmlTag version 0.2 這個版本解決了上次遺留的問題,即就近閉合和嵌套閉合問題。具體可以看代碼的注釋。 複製代碼 代碼如下: /** * fixHtmlTag * * HTML標籤修複函數,此函數可以修複未正確閉合的 HTML 標籤 * * 由於不確定性因素太多,暫時提供兩種模式“嵌套閉合模式”和 * “就近閉合模式”,應該夠用了。 * * 這兩種模式是我為瞭解釋清楚此函數的實現而創造的兩個名詞, * 只需明白什麼意思就行。 *
在自然語言中,我們理解抽象的概念是,一個物體的一種大的描述,這種描述對某類物體來說是共有的特性。那麼在PHP中也是一樣的,我們把一個類進行抽象,可以指明類的一般行為,這個類應該是一個模板,它指示它的子方法必須要實現的一些行為。 PHP抽象類別應用的定義: abstract class ClassName{ } PHP抽象類別應用要點: 1.定義一些方法,子類必須完全實現這個抽象中所有的方法 2.不能從抽象類別建立對象,它的意義在於被擴充
執行個體代碼: 複製代碼 代碼如下: /** * ********************************************************** * Read Me * 文章分頁 * * 分頁方式,可以按字數分頁,按換行分頁,按特殊標記分頁等 * 其實實現思路是一樣的,只是將其按一定規律放入一個數組 * 然後根據 url 傳入的參數取得某個片段即可 * 大家完全可以寫一個功能強大的函數儲存起來以備不時之需 * *
獲得當前日期+時間(date + time)1.1 函數:now() 相關函數:current_timestamp(),localtime(),localtimestamp() 舉例說明: 2. 獲得當前日期(date) 函數:curdate() 相關函數:current_date(),current_date 舉例說明: 3. 獲得目前時間(time)函數:curtime() 相關函數:current_time(),current_time舉例說明 4. MySQL
一、strstr — 尋找字串的首次出現 string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 注1:$haystack是當事字串,$needle是被尋找的字串。該函數區分大小寫。 注2:傳回值是從needle開始到最後。 注3:關於$needle,如果不是字串,被當作整形來作為字元的序號來使用。 注4:before_needle若為true,則返回前東西。 複製代碼 代碼如下: $