Time of Update: 2017-01-19
本文介紹php中的switch語句的用法,它跟其他語句中的switch用法差不多的,但注意有有一個break語句。PHP中switch語句的標準文法:switch (expression){case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break;default: code to be
Time of Update: 2017-01-19
基本安裝方法安裝工具包 $ sudo apt-get install python-software-properties 添加ppa源 $ sudo add-apt-repository ppa:yola/php5 安裝php5-fpm sudo apt-get update sudo apt-get install php5-fpm 其它必要的軟體安裝接 sudo apt-get install nginx
Time of Update: 2017-01-19
php與nginx整合PHP-FPM也是一個第三方的FastCGI進程管理器,它是作為PHP的一個補丁來開發的,在安裝的時候也需要和PHP源碼一起編譯,也就是說PHP-FPM被編譯到PHP核心中,因此在處理效能方面更加優秀;同時它在處理高並發方面也比spawn-fcgi引擎好很多,因此,推薦Nginx+PHP/PHP-FPM這個組合對PHP進行解析。FastCGI 的主要優點是把動態語言和HTTP
Time of Update: 2017-01-19
介面PHP類是單繼承,也就是不支援多繼承,當一個類需要多個類的功能時,繼承就無能為力了,為此PHP引入了介面技術如果一個抽象類別裡面的所有方法都是抽象方法,且沒有聲明變數,而且介面裡面所有的成員都是public許可權的,那麼這種特殊的抽象類別就叫介面介面使用interface關鍵字定義,並使用implements來實現介面的方法,且必須完全實現實現一個介面下面給出PHP介面實現的一個實際例子,在此建立並實現了一個名為IPillage的介面,IPillage介面如下:interface
Time of Update: 2017-01-19
最近做了一個項目需要把訂單的資訊顯示出來,並且能夠把相關資訊放到一個.csv 檔案中,下載到瀏覽器。雖然說csv是一種比較簡單的excel表格形式,產生只要按指定格式然後產生.csv檔案就可以,但是在使用中也會遇到很多問題,下面給大家分享下PHP下載csv檔案及問題總結首先大家先看個例子,產生csv檔案並下載//要產生csv檔案的數組$csvArr=array();$csvArr[]=array('使用者編號1','上班日期1','簽到時間1','簽退時間1');$csvArr[]=array(
Time of Update: 2017-01-19
本文執行個體講述了PHP合并discuz使用者指令碼的方法。分享給大家供大家參考。具體如下:前幾天遇到一個需要將兩個discuz合并的項目,一個使用者層級在12萬左右,一個是1萬8.不用說肯定是扔了1萬8的,留下12萬的。開始覺得不好處理,資料表都是關聯,新註冊一個使用者,有8個表增加記錄了,還沒看有沒有其他表有修改記錄的可能性。當時覺得一時半會兒也理不清那些表,就搜尋了一下,搜到了discuz
Time of Update: 2017-01-19
一、常用測試樣本我們經常會遇到這種情況:將一些沒有經過任何測試的遺留代碼進行重新編寫測試,甚至這些代碼還是用物件導向寫的。要對這樣的代碼進行測試,我的建議是把代碼分解成塊,這樣就容易測試了。然而,這些遺留代碼並不是那麼好重構的,比如:測試前,你不能在把代碼重新編寫,這是為了避免影響原有程式,當然也不好進行單元測試。在PHP程式中,通常有一部分代碼是寫在幾個index.php和script.php檔案中的,這些.php檔案存放在幾個不同的檔案夾裡。如果不找到它們的進入點,是無法直接由Web伺服器訪
Time of Update: 2017-01-19
HTML的form表單用html的表單類比一個檔案上傳的post請求,代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-
Time of Update: 2017-01-19
本文執行個體講述了php通過排列組合實現1到9數字相加都等於20的方法。分享給大家供大家參考。具體實現方法如下:<?phpset_time_limit(0);/*函數說明:huoqu_zhuhe($eq,$jiashu,$isone=0)參數說明:$eq---幾個數相加的總和; $jiashu-------加數數組:$jiashu=array(1,2,3,4,5,6,7,8,9),可以使用的加數; $isone---是否要每次使用不同的加數,唯一性,1是 0
Time of Update: 2017-01-19
本文執行個體講述了PHP實現遞迴複製整個檔案夾的類。分享給大家供大家參考。具體如下:<?php/* * 檔案夾複製類 */class CopyFile{public $fromFile;public $toFile;/* * $fromFile 要複製誰 * $toFile 複製到那 */function copyFile($fromFile,$toFile){ $this->CreateFolder($toFile);
Time of Update: 2017-01-19
PHP使用緩衝即時輸出內容(output buffering)的方法。分享給大家供大家參考。具體如下:$buffer = ini_get('output_buffering');echo str_repeat(' ',$buffer+1); //防止瀏覽器緩衝ob_end_flush(); //關閉緩衝for( $i=1; $i<=10; $i++ ){ echo '第 '.$i.' 次輸出.'."<br />\n"; flush(); //重新整理緩衝(直接發送到瀏覽器)
Time of Update: 2017-01-19
Scope Resolution Operator (::) 今天 看joomla源碼的時候,才意識到。原來這個操作符還可以訪問類的非靜態方法啊。真的讓我吃驚不好。一直以為範圍解析運算子只能訪問類的static方法和static成員變數。 如果各位不相信,下面有個簡單的小測試代碼可以證明這個。 複製代碼 代碼如下: class A{ private $_name = 'A'; function __construct(){ echo 'A construct <br />'; }
Time of Update: 2017-01-19
integer 可以已10進位,8進位,16進位表示。 用八進位表示的時候,數字需要已0(零)開頭; 用十六進位表示的時候,數字需要已0x(零x)或者0X(零大寫X)開頭; integer 溢出: integer溢出的時候,會自動的轉化為float類型。同樣的,如果integer類型的操作結果溢出了integer類型的邊界,也會自動轉化為float類型。 需要注意的一點就是,integer類型沒有"/"
Time of Update: 2017-01-19
float類型的表示可以有以下幾種: 複製代碼 代碼如下: <?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?> 使用PHP的float類型需要注意的是:PHP的float類型的精度有點問題。如果需要高精度的數學計算,可以使用php提供的專用的數學函數 arbitrary precision math functions系列和gmp系列函數。還有就是不要試圖進行比較float類型的變數。 Converting to float For
Time of Update: 2017-01-19
注意:PHP沒有對string的長度做限制。唯一限制的就是PHP在電腦中的可用記憶體(php.ini檔案中的memory_limit變數的值) 限定字串範圍的方法有4中: 1、單引號; 2、雙引號; 3、原型文檔文法; 4、nowdoc syntax(PHP5.3.0開始) 1、如果字串使用單引號“‘”包裹,字串中如果出現單引號“,”和反斜線“\”符號,需要進行轉義。 複製代碼 代碼如下: // Outputs: Arnold once said: "I'll be back" echo
Time of Update: 2017-01-19
php的數組的key 可以是string類型也可以是integer類型。如果key為一個float類型,會自動的轉化為integer類型。 如果沒有為一個value指定一個key,integer類型的索引的最大值已經給出的話,新key就是這個最大值加1.如果這個新key已經被賦值,那麼這個value將會被覆蓋掉。 複製代碼 代碼如下: <?php $arr = array('a','b',5=>'c','d','e',6=>'g'); echo '<pre>';
Time of Update: 2017-01-19
PHP本身沒有帶有ionCube loader模組, 必須到ionCube網站下載。ionCube loader是免費的,但是Encoder的價格就比較昂貴(起價$199)。 下面要介紹如何在Linux下安裝ionCube Loader。1. 下載ionCube http://www.ioncube.com/loader_download.php, 通過這個連結可以找到對應的版本,我使用wget從命令列擷取Linux64版本。 wget -c http://downloads2.ioncube.
Time of Update: 2017-01-19
The + operator appends elements of remaining keys from the right handed array to the left handed, whereas duplicated keys are NOT overwritten. 今天 再次看 php manual的時候,才知道 複製代碼 代碼如下: <?php $a = array("a" => "apple", "b" => "banana"); $b = array(
Time of Update: 2017-01-19
另外,我們在 控制結構比較兩個數值是否一直的時候,也應該盡量使用 === 來代替 ==(當然,這個也根據具體的商務邏輯選用比較合適的)。 小弟來解釋下 為什麼 var_dump(in_array(0, array('s' )); 這句話的結果是bool(true)。 因為in_array會將0 和's' 進行比較,0是number類型,'s'是string類型,根據php manual 中“Comparison Operators” 一章的說明可知,number 和string進行 比較的時候,
Time of Update: 2017-01-19
A string is series of characters. String access and modification by character Characters within strings may be accessed and modified by specifying the zero-based offset of the desired character after the string using square array brackets, as in