Time of Update: 2017-01-19
本文執行個體講述了php設計模式之單例模式。分享給大家供大家參考。具體分析如下:單例模式(職責模式):簡單的說,一個對象(在學習設計模式之前,需要比較瞭解物件導向思想)只負責一個特定的任務;單例類:1、建構函式需要標記為private(存取控制:防止外部代碼使用new操作符建立對象),單例類不能在其他類中執行個體化,只能被其自身執行個體化;2、擁有一個儲存類的執行個體的靜態成員變數3、擁有一個訪問這個執行個體的公用的靜態方法(常用getInstance()方法進行執行個體化單例類,通過insta
Time of Update: 2017-01-19
在WEB開發過程中,我們經常要擷取來自於世界各地的使用者輸入的資料。但是,我們“永遠都不能相信那些使用者輸入的資料”。所以在各種的Web開發語言中,都會提供保證使用者輸入資料安全的函數。在PHP中,有些非常有用並且方便的函數,它們可以協助你防止出現像SQL注入攻擊,XSS攻擊等問題。1.
Time of Update: 2017-01-19
本文執行個體講述了php+ajax即時重新整理簡單實現方法,分享給大家供大家參考。具體如下:ajax自動重新整理好像是個很常見的問題,之前做一個網頁聊天室程式也是卡在了這上面,經過了這段時間的學習,終於做出了一個可以自動重新整理網頁的代碼架構,希望正在迷茫的親們不要像我一樣走了這麼多彎路廢話不多說 上代碼:html部分:<html> <head> <script type="text/javascript"> function
Time of Update: 2017-01-19
實現思路:首先,建立一個表,比如下面的複製代碼 代碼如下: CREATE TABLE ip_log ( ip_log_ip VARCHAR(40), ip_log_date DATE, ip_log_visits TINYINT(1), ip_log_page varchar(255), PRIMARY
Time of Update: 2017-01-19
Apache的 mod_rewrite是比較強大的,在進行網站建設時,可以通過這個模組來實現偽靜態。主要步驟如下: 1.檢測Apache是否開啟mod_rewrite功能 可以通過php提供的phpinfo()函數查看環境配置,找到“Loaded
Time of Update: 2017-01-19
本文執行個體講述了php使用explode()函數將字串拆分成數組的方法。分享給大家供大家參考。具體分析如下:explode()函數:字串拆分成數組範例程式碼如下:<?php$str = "朝陽區,海澱區,西城區,東城區,丰台區";$arr = explode(",",$str);echo "<pre>";print_r($arr);?>結果如下:<pre>Array( [0] => 朝陽區 [1] => 海澱區 [2] =&
Time of Update: 2017-01-19
本文執行個體講述了php使用unset()刪除數組中某個單元(鍵)的方法。分享給大家供大家參考。具體分析如下:unset既可以刪除變數,也可以刪除數組中某個單元。但要注意的是,數組不會重建索引。執行個體如下:<?php$arr = array("朝陽區","海澱區","西城區","東城區","丰台區");unset($arr[3]);echo "<pre>";print_r($arr);?>輸出結果如下:Array( [0] => 朝陽區 [1]
Time of Update: 2017-01-19
本文執行個體講述了php插入排序法實現數組排序的方法。分享給大家供大家參考。具體分析如下:插入排序法的基本思路:同樣以案例來說明,還是以$arr = array(2,6,3,9),由大到小排序。實現原理:假設(並不實際建立)有一個有序數組$arr =
Time of Update: 2017-01-19
在PHP中,字串的定義可以使用英文單引號' ',也可以使用英文雙引號" "。但是必須使用同一種單或雙引號來定義字串,如:'Hello World"和"Hello World'為非法的字串定義。單引號和雙引號到底有啥區別呢?PHP允許我們在雙引號串中直接包含字串變數。而單引號串中的內容總被認為是一般字元,因此單引號中的內容不會被轉義效率更高。比如:複製代碼 代碼如下:$str='hello';echo "str is $str"; //運行結果: str is helloecho 'str is
Time of Update: 2017-01-19
一、PHP擷取POST資料的幾種方法方法1、最常見的方法是:$_POST['fieldname'];說明:只能接收Content-Type: application/x-www-form-urlencoded提交的資料解釋:也就是表單POST過來的資料方法2、file_get_contents("php://input");說明:允許讀取 POST 的未經處理資料。和 $HTTP_RAW_POST_DATA 比起來,它給記憶體帶來的壓力較小,並且不需要任何特殊的 php.ini 設定。php:/
Time of Update: 2017-01-19
instanceof 運算子 和 is_a() 方法都是判斷:某對象是否屬於該類 或 該類是此對象的父類(用於確定一個 PHP 變數是否屬於某一類 class 的執行個體)是的話返回 TRUE,不是的話返回 FALSE區別:instanceof 運算子是 PHP 5 引進的。在此之前用 is_a(),但是後來 is_a() 被廢棄而用 instanceof 替代了。注意:PHP 5.3.0 起,又恢複使用 is_a() 了。總結:現在PHP的服務環境普遍都使用PHP5.0+了,所以盡量使用
Time of Update: 2017-01-19
PHP有效時間戳記典型範圍是格林威治時間 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07。(此範圍符合 32 位有符號整數的最小值和最大值)。不過在 PHP 5.1 之前此範圍在某些系統(如 Windows)中限制為從 1970 年 1 月 1 日到 2038 年 1 月 19
Time of Update: 2017-01-19
今天同事項目中遇到一個問題,通過http介面擷取的json字串使用json_decode始終無法正確解析,返回空白。直接把結果字串複製出來手動建立一個變數卻正常,在前端js也能解析,搞了半天不得其解,藉助強大的Google解決了問題,答案是介面吐出的結果包含有BOM頭,BOM頭這個東西可謂是php的死敵啊不說了,直接上解決辦法:複製代碼 代碼如下:if (substr($return, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
Time of Update: 2017-01-19
我這個部落格為了提高運行效率在vps上裝了opcache擴充,結果發現有個頁面返回502,其他頁面正常。檢查了php-fpm日誌,發現是php-fpm子進程不知道為什麼會崩潰,然後把opcache關了就正常。中間折騰的過程就不提了,總之最後發現應該是和另外一個擴充 zend guard衝突導致的,搞笑的是,只要我把php.ini中[zend guard] 配置段放在[zend opcache]後面就正常了。不想繼續深究了,如果你對php底層熟悉,可以為我解惑。
Time of Update: 2017-01-19
最近在幫同事解決Swoole Server問題時,發現有1個worker進程一直處於R的狀態,而且CPU耗時非常高。初步斷定是PHP代碼中發生死迴圈。下面通過一段代碼展示如何解決PHP死迴圈問題。複製代碼 代碼如下:#dead_loop.php$array = array();for($i = 0; $i < 10000; $i++){ $array[] = $i;}include
Time of Update: 2017-01-19
本文執行個體講述了php列印一個邊長為N的實心和空心菱型的方法。分享給大家供大家參考。具體分析如下:實心菱型計算方法:$n:邊長$i:當前行,0開始$rows:總行數上部前面空格數=$n-$i-1字元數=$i*2+1下部前面空格數=$i-$n+1字元數=($rows-$i)*2-1使用 str_pad 可以減少for/while等迴圈複製代碼 代碼如下:/** * 列印實心菱型 * @param int $n 邊長,預設5
Time of Update: 2017-01-19
本文執行個體講述了php中return的用法。分享給大家供大家參考。具體分析如下:首先,它的意思就是返回;return()是語言結構而不是函數,僅在參數包含運算式時才需要用括弧將其括起來。當返回一個變數時通常不用括弧,這樣可以降低PHP的負擔。基本用法:a)、return expression // 返回一個運算式結果b)、return(expr) // 函數運算式c)、return //
Time of Update: 2017-01-19
本文執行個體講述了php多次include後導致全域變數global失效的解決方案。分享給大家供大家參考。具體分析如下:在多個檔案中,檔案一個接一個include,但最後一個檔案裡的函數使用global後卻無法引用全域變數。例如:a.php檔案:<?php$aa = 1;?>b.php檔案:<?phpinclude a.phpfunction show(){global
Time of Update: 2017-01-19
一:下載程式包首先到php官網下載程式包,官網地址: http://www.php.net/downloads.php二:解壓解壓你的程式包,放在除c盤外的目錄下(檔案夾非中文命名)三:修改php安裝包檔案在php根目錄下找到“php.ini-development”並修改為:“php.ini”php.ini中找到(如下的自己沒有設定)找到下列語句,並將這些語句前的「;」去掉:複製代碼
Time of Update: 2017-01-19
本文執行個體講述了php中explode的負數limit用法。分享給大家供大家參考。具體分析如下:explode -- 使用一個字串分割另一個字串,使之成為數組。參數為:array explode ( string separator, string string [, int limit]