編程環境PHP5.2.4,基本上PHP4.3以上版本,此代碼都可以使用準備工作檢查upload_tmp_dir項如果PHP的開發環境是自行搭建的,你需要在編寫檔案上傳程式前編輯php.ini檔案,找到並編輯upload_tmp_dir選項,此項用來設定檔案上傳至伺服器時的臨時檔案夾,比如upload_tmp_dir = E:/phpos/uploads,然後再重啟Apache。如果PHP的開發環境使用的是傻瓜式一鍵安裝包,一般upload_tmp_dir都是設定好了的,你也可以用phpinfo(
每個單詞的首字母轉換為大寫: ucwords() 第一個單詞首字母變大寫: ucfirst()第一個單詞首字母變小寫: lcfirst() 所有 字母變大寫: strtoupper()例子 代碼如下複製代碼 <?phpecho strtoupper("Hello WORLD!");?>輸出:HELLO WORLD! 第一個單詞首字母變大寫:ucfirst() 代碼如下複製代碼 <?php$foo = 'where
代碼如下複製代碼 ?php $arr=array ( "01", "02", "01",
在PHP開啟SSL的方法很簡單,先找到php.ini檔案,將 extension=php_openssl.dll 前面的注釋符號“;”去掉,然後重新啟動apache就可以生效了!有的朋友這樣做卻發現ssl沒有生效,那麼有個辦法,就是將dlls檔案夾裡面的ssleay32.dll和libeay32.dll檔案拷貝到 C:WINDOWSsystem32
雙端隊列(deque)是由一些項的表組成的資料結構,對該資料結構可以進行下列操作: push(D,X) 將項X 插入到雙端隊列D的前端 pop(D) 從雙端隊列D中刪除前端項並將其返回 inject(D,X) 將項X插入到雙端隊列D的尾端 eject(D) 從雙端隊列D中刪除尾端項並將其返回PHP實現代碼 代碼如下複製代碼 <?
使用php內建函數 array_unshift ,下面就將 array_unshift 這個函數的用法列舉一下。array_unshift該函數的作用是在數組開頭插入一個或多個元素。被加上的元素作為一個整體添加,這些添加的元素在數組中的順序和在參數中的順序一樣。修改後的數組中所有的數值鍵名將修改為從零開始重新計數,所有的文字鍵名保持不變。該函數會返回操作後數組中元素的個數。文法:int array_unshift ( array &$array ,mixed $var [,mixed $
str_replace可尋找替換常規字元,preg_replace可尋找替換斷行符號換行字元(\r\n)preg_replace常用在 代碼如下複製代碼 <meta name="description" content="<?php echo htmlspecialchars(utf_substr(preg_replace('/\r\n/','',str_replace('
如果按照一般的思路,每次我們對一個小兵進行操作的時候,比如一輛坦克,我們都要用if判斷他的狀態,這樣代碼中會有很多的if,else或者swith。不過我們可以發現,我們需要的是他在某個狀態下的行為,如果把這些行為按照狀態封裝起來,就可以減少大量的判斷。待解決的問題:封裝坦克的狀態,讓狀態自己去控制行為。思路:把狀態作為屬性,兵種類本身只控制狀態的變化,具體的行為由狀態類定義。狀態(State)模式樣本: 代碼如下複製代碼 <?php//坦克狀態的介面interface
遞迴演算法:就是一種直接或間接調用自身的演算法。實現過程:通過函數或者子過程來完成,在函數或者子過程中編寫代碼直接或間接的調用自己,即可完成遞迴操作。(相同類別的問題,把問題層層轉換為規模縮小的子問題到最小問題有已知條件,然後來求解,然後得到結果逐級返回。其實也是一種迴圈。)最主要體現:小的代碼量解決了非常複雜的問題特點:1、遞迴就是方法裡調用自身2、必須有一個明確的遞迴結束條件,稱為遞迴出口。3、簡潔但是運行效率較低,一般不提倡使用4、每一層的返回點、局部變數等開闢了棧來儲存,遞迴次數過多容易
註:大牛繞過,寫過者別吐槽哈~九九乘法表想必大家都是瞭解的,那怎麼應用PHP的代碼來實現這樣一個乘法表呢?實現效果:後面是實現的代碼,請新人們自覺,先自己懂懂腦,思想的方式有很多,總有一款適合你O(∩_∩)O~ 代碼如下複製代碼 <?phpfor($i=1;$i<=9;$i++){
在php中,符號”&”表示引用。1、看看不引用的情況是這樣子:$a = “hello world”;//定義一個變數,下面賦值給$b$b = $a;//這一步沒有在$a之前加符號&,像這樣子”$b= &
瞭解過wordpress一類部落格程式的模板的PHPer都會看到很多奇怪的PHP文法,比如:<?php if(empty($GET_['a'])): ?><font color=”red”>空的</font><?php endif; ?>對於一部分PHPer根本沒見過這些是什麼東西呢?難道是那些部落格的開發人員自己搞的仿PHP的範本語言?非也,其實這些都是PHP的文法,只不過不常用而已,這些都是PHP流程式控制制的替代文法。
運算子是可以通過給出的一或多個值(用編程行話來說,運算式)來產生另一個值(因而整個結構成為一個運算式)的東西。第一種是一元運算子,只運算一個值,例如 !(取反運算子)或 ++(加一運算子)。例子1、++i 的用法(以 a=++i ,i=2 為例)先將 i 值加 1 (也就是 i=i+1 ),然後賦給變數 a (也就是 a=i ),則最終 a 值等於 3 , i 值等於 3 。所以 a=++i 相當於 i=i+1 ,a=i2、i++ 的用法(以 a=i++ ,i=2 為例)先將 i 值賦給變數
傳值賦值:是把實參的值賦值給行參 ,那麼對行參的修改,不會影響實參的值.例如:根copy是一樣的。打個比方,我有一?H房子,我給你建築材料,你建了一個根我的房子一模一樣的房子,你在你的房子做什麼事都不會影響到我,我在我的房子裡做什麼事也不會影響到你,彼此獨立。 代碼如下複製代碼 $aa=1;$bb=2;$aa=$bb;//$aa和$bb互不相干$aa=3;echo $aa,'--',$bb;//輸出3--2
使用php專屬的array_map函數遍曆清除數組中所有字串的兩端空格 代碼如下複製代碼 function TrimArray($Input){ if (!is_array($Input)) return trim($Input); return array_map('TrimArray', $Input);}
只所以稱為“進階”用法,是因為我連switch的最基礎的用法都還沒有掌握,so,接下來講的其實還是它的基礎用法! switch 語句和具有同樣運算式的一系列的 IF 語句相似。很多場合下需要把同一個變數(或運算式)與很多不同的值比較,並根據它等於哪個值來執行不同的代碼。這正是 switch 語句的用途。 注意: 注意和其它語言不同,continue 語句作用到 switch 上的作用類似於 break。如果在迴圈中有一個 switch 並希望 continue
直接貼測試代碼: 代碼如下複製代碼 class MoShu{ public function moshu() { echo '當前類名:' . __CLASS__ . "<br />"; echo '當前方法名:' . __FUNCTION__ . "<br />"; echo '當前檔案中所在的行數:' . __LINE__ .
__FUNCTION__ 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。__CLASS__ 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。__METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。註:這些常量前後均是兩個底線。get_class(class name);
概要建立型模式保證一個類僅有一個執行個體,並且提供一個訪問它的全域訪問點特點1、一個類只有一個執行個體2、它必須自行建立這個執行個體3、必須自行向整個系統提供這個執行個體結構圖主要角色Singleton 定義一個Instance操作,允許客戶訪問它的唯一執行個體。Instance是一個類方法。負責建立它的唯一的執行個體。優缺點1、對唯一執行個體的受控訪問2、縮小命名空間 單例模式是對全域變數的一種改進。它避免了那些儲存唯一執行個體的全域變數汙染命名空間3、允許對操作和表示的精華
一、什麼是數組數組就是一組資料的集合,把一系列資料群組織起來,形成一個可操作的整體。數組的每個實體都包含兩項:鍵和值。二、聲明資料在PHP中聲明數組的方式主要有兩種:一是應用array()函式宣告數組,一是直接為數組元素賦值。飛飛Asp!技術樂園<1>array()函式宣告的數組的方式array([mixed...]) 參數mixed的文法為key=>value如, 代碼如下複製代碼 < ?php$array=array("1"=&