Time of Update: 2016-07-21
複製代碼 代碼如下: /*函數array_pop():將數組最後一個單元彈出(出棧) * 1、文法:mixed array_pop ( array &array ) * 2、描述: 彈出並返回 array 數組的最後一個單元,並將數組 array 的長度減一。如果 array 為空白(或者不是數組)將返回 NULL。 * 3、注意事項: * 3.1、 */ echo "****************************************************************
Time of Update: 2016-07-21
基於Regex替換的模板引擎很容易遇上Regex最大回溯/遞迴的限制。 惰性匹配並不可怕,正常情況下模板並不會不夠用,往往不會超出限制,discuz的模板引擎就大量使用了。但是因此而不去注意、不去學習,則容易書寫錯誤並遇上問題。 當preg_*返回的是null的時候則要注意了,判斷函數是is_null. 出錯並不可怕,但是最好把錯誤都完整的輸出,這樣調試就很容易了。 除了輸出出錯原因,還要輸出匹配的文本和使用的正則,這樣就很容易調試了。 PHP代碼 複製代碼 代碼如下: if (is_null(
Time of Update: 2016-07-21
1.php函數 1.使用者自訂函數 複製代碼 代碼如下: function 函數名字([$parameter,[,…]]) { //函數代碼 } 注意:函數名不能與系統函數或使用者已經定義的函數重名。 $parameter為函數參數,函數一般可以有0個或多個參數, 2.參數的傳遞 參數是通過值來傳遞的,例如前面定義func()函數是通過變數$a和$b的值傳遞的。通過值傳遞參數不會因為函數內部參數值的變化而改變函數外部的值。 複製代碼 代碼如下: function color(&$col) //
Time of Update: 2016-07-21
代碼如下 複製代碼 代碼如下: $dir = 'D:\Program Files\resource\application\Skin\PNG\\';//注意這裡的路徑,最後要加兩個\,第一個表示轉意,但是這樣容易遇到其他特定轉義,還要仔細判斷,可以寫為如下方式 $dir = 'D:/Program Files/resource/application/Skin/PNG/';//寫成這樣的路徑,就不用擔心轉義問題了。最後面的/不要漏寫 if ($dh = opendir($dir)) {
Time of Update: 2016-07-21
簡單的試用心得如下: 安裝pman 使用傳說中的pear來安裝pman sudo pear install doc.php.net/pman 如果pear版本比較老,需要先升級pear才可以繼續 sudo pear upgrade pear pman使用方法 pman的使用方法很傻瓜,比如我們想查看strlen的協助資訊: pman strlen 協助文本的內容是彩色的,能和chm版本的php協助文檔媲美。pman的詳細使用協助如下 #pman
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * Factory 方法模式 * * 定義一個用於建立對象的介面,讓子類決定將哪一個類執行個體化,使用一個類的執行個體化延遲到其子類 */ /* class DBFactory { public static function create($type) { swtich($type) { case "Mysql": return new MysqlDB(); break; case "Postgre": return new PostgreDB(); break;
Time of Update: 2016-07-21
複製代碼 代碼如下: $url = 'http://www.baidu.com/zongzi/oo.html'; $n = preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*[.]*html/",$url,$array); var_dump($array); ?>
Time of Update: 2016-07-21
1.數組的處理: 1.1 數組的建立和初始化: 1.arrary()函數建立數組,預設情況下0元素是數組的第一個元素, count()和sizeof()函數獲得資料元素的個數 2.使用變數建立數組 compact()在當前的符號表中尋找該變數名並將它添加到輸出的數組中,變數名成為鍵名而變數的內容成為該鍵的值. 複製代碼 代碼如下: $num=10; $str="string"; $array=array(1,2,3); $newarray=compact("num","str","array")
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 解譯器 樣本 * * @create_date: 2010-01-04 */ class Expression { function interpreter($str) { return $str; } } class ExpressionNum extends Expression { function interpreter($str) { switch($str) { case "0": return "零"; case "1": return "一";
Time of Update: 2016-07-21
複製代碼 代碼如下: ini_set("safe_mode",true); ?> 表 42-2. 安全模式限制函數函數名限制dbmopen()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的 UID(所有者)。dbase_open()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的 UID(所有者)。filepro()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的 UID(所有者)。filepro_rowcount()檢查被操作的檔案或目錄是否與正在執行的指令碼有相同的
Time of Update: 2016-07-21
複製代碼 代碼如下: //正則表達 式 // ereg區分大小寫 if(ereg("([A-Z]{3,})", "AAA")){ echo "大寫能匹配!"; }else{ echo "no"; } if(ereg("([A-Z]{3,})", "aaa")){ echo "yes"; }else{ echo "小寫不能匹配!"; } // eregi不區分大小寫 if(eregi("([A-Z]{3,})","Aaaa")){ echo "大小寫都可以匹配!"; } //返回匹配的值
Time of Update: 2016-07-21
複製代碼 代碼如下: /*函數array_map()函數:多數組回呼函數---將回呼函數作用到給定數組的單元上 * 1、文法:array array_map ( callback callback, array arr1 [, array ...] ) * 2、描述:返回一個數組,該數組包含了 arr1 中的所有單元經過 callback 作用過之後的 * 單元。callback 接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致。 * 3、注意事項: *
Time of Update: 2016-07-21
一、上傳表單的HTML代碼 複製代碼 代碼如下: 注意事項:1、action是上傳的新 2、enctype這個屬性要寫成 “multipart/form-data” 二、PHP代碼 複製代碼 代碼如下: if(is_uploaded_file($_FILES["Imgs"]["tmp_name"])){ $phpupfile=$_FILES["Imgs"]; //輸出上傳檔案的數組結構; print_r($phpupfile); //輸出上傳檔案的各類資訊 echo
Time of Update: 2016-07-21
require '../inc/conn.php'; ?> //初始參數設定 $pagesize=5 ; //分頁大小 $pagenum=1 ; //預設為第一頁 //第一步:擷取當前是第幾頁 if($_GET){ if($_GET['pagenum']){ $pagenum=$_GET['pagenum']; } } //第二步:擷取當前分頁的內容列表 $sql="Select * From message limit ".($pagenum-1)*$pagesize.",$pagesize
Time of Update: 2016-07-21
一、串連資料庫 1、 mysql_connect: 開啟 MySQL 連結 mysql_connect('主機','使用者名稱','密碼') 2、 mysql_select_db: 開啟一個資料庫 mysql_select_db('資料庫名',$連結標識符) //連結標識符不填寫則預設為上一次開啟的串連 3、 mysql_query("set names 'GBK'") 解決中文亂碼問題; mysql_query("set names '編碼(utf8或GBK)' ")
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * @author Yuans * @copyright php.com * @package 函數的常用使用方法及特性. */ # 基礎函數編寫注意點. // 為了方便ide的管理及代碼提示功能,我們在所有函數命名時使用fun_開頭. function fun_cutstr($str,$str_width=0,$str_pad='...'){ // 每個函數都得考慮一些異常的情況, 比如函數引入不對, 為0,為false等. //
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 冒泡排序 bubble sort * * 原理:多次迴圈進行比較,每次比較時將最大數移動到最上面。每次迴圈時,找出剩餘變數裡的最大值,然後減小查詢範圍。這樣經過多次迴圈以後,就完成了對這個數組的排序 */ function sort_bubble($list) { $len = count($list); if(empty($len)) return $list; for($i = 0;$i { for($j = $i + 1; $j { $flag = '';
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 擷取變數名 * * @param $string * @return $string * * $test = "helo"; * $test2 = "helo"; * getVarName($test2); */ function getVarName(&$src){ //儲存當前變數值 $save = $src; //儲存所有變數值 $allvar = $GLOBALS; //在函數中不要直拉遍曆$GLOBALS,會出現堆棧問題
Time of Update: 2016-07-21
register.php: 複製代碼 代碼如下: 註冊頁面 request.php 複製代碼 代碼如下: $username = $_POST['username']; $name = $_POST['name']; $pwd = $_POST['pwd']; $email = $_POST['email']; //print_r($username); if(!empty($username)) { echo "您填寫的資訊為:\n"; echo "使用者名稱:
Time of Update: 2016-07-21
這個方法同樣可以用於判斷是否有該分隔字元號。例如: 複製代碼 代碼如下: if($_MODULE[tg1_tjly]){ $tg1_tjly = explode("|",$_MODULE[tg1_tjly]); if(count($tg1_tjly)>1){ //重點在這裡,統計數組大於1的時候則說明含有1個或以上的間隔符號“|”。 $tg1_tjly_tit = $tg1_tjly[0]; $tg1_tjly_con = $tg1_tjly[1]; }else{ $tg1_tjly_tit =