Time of Update: 2017-02-28
對於如下二維數組,要求對其進行去重:$arr = array( '0'=>array( 'name'=>'james', 'age'=>30, ), '1'=>array(
Time of Update: 2017-02-28
PCREPHP有兩種使用不同的方式來使用Regex:PCRE(Perl相容標記法,preg_*)函數 和 POSIX(POSIX 擴充標記法,ereg_*) 函數。幸運的是,POSIX 家族函數從 PHP 5.3.0 開始就被棄用了。Regex界定符經常使用的分隔字元是正斜線(/)、hash符號(#) 以及取反符號(~)。下面的例子都是使用合法分隔字元的模式/foo bar/#^[^0-9]$#+php+%[a-zA-Z0-9_-]%{this is a
Time of Update: 2017-02-28
PHP中二維數組排序,可以使用PHP內建函數uasort()【使用使用者自訂的比較函數對數組中的值進行排序並保持索引關聯】回呼函數如下:注意回呼函數的傳回值是負數或者是false的時候,表示回呼函數的第一個參數在前,第二個參數在後排列$person = array(array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21),
Time of Update: 2017-02-28
1.錯誤1 把cookie寫到header中$header[] = Cookie:thw=cn; cna=jxdODv2wcTICAXHW0r1CJi0V; t=e41c38cb9ce34bd54ca0f9127fd0c6c2; _m_h5_tk=f32d95cc18037cc4e85986f30bc1b896_1439816860045; _m_h5_tk_enc=4c378ef9a2bd15c36fe298e4d97f2c75; isg=6F159112174B9D2A7534037C941
Time of Update: 2017-02-28
最近一段時間以來,PHP作為一款高效伺服器端程式設計語言,開始在Web開發領域掀起又一股熱潮。大家可能想象不到,根據2013年1月發布的一份調查報告顯示,PHP語言已經被安裝在全球超過2.4億個網站以及210萬台Web伺服器之上。PHP的全稱為“超文本前置處理器”,而且主要用於建立動態網路頁面。不過,PHP還有著其它多種用途,並因此在開發人員群體及大規模企業當中擁有著極高人氣。隨著相關技術在各個領域的不斷髮展,PHP開發人員目前擁有非常旺盛的市場需求。PHP被用於在伺服器
Time of Update: 2017-02-28
在最近 SitePoint 的 PHP vs Node.js Smackdown 一文中,Craig Buckler 對兩種語言就如何應對一系列的10個挑戰進行了比較來決定哪一個總體上更佳。Craig 在書中講到,這些比較總是有些矛盾。作為一個有意思的隨訪,我們要求 Bruno Škvorc (SitePoint 的 PHP 開發人員)和 James Hibbard (SitePoint 的一個
Time of Update: 2017-02-28
一、黑名單過濾function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); $contents = fread($handle,&n
Time of Update: 2017-02-28
在i94web部落格中,我試過了暢言和多說兩種社會化評論框,後來還是拋棄了暢言,不安全。無論是暢言還是多說,我都需要從遠程抓取文章的評論數,然後存入本機資料庫。對於多說,請求的格式如下:// 擷取評論次數,參數是文章IDfunction getCommCount($postid){ $jsondata = file_get_contents("http://api.duoshuo.com/threads/counts.json?short_name=
Time of Update: 2017-02-28
定時器任務,在WEB應用比較常見,如何使用PHP實現定時器任務,大致有兩種方案:1)使用Crontab命令,寫一個shell指令碼,在指令碼中調用PHP檔案,然後定期執行該指令碼;2)配合使用ignore_user_abort()和set_time_limit(),使指令碼瀏覽器外用運行。前者是利用Linux的特性,和PHP本身沒有多大關係,後者使用情境有限,且只能由一次HTTP請求觸發該指令碼,執行完後退出。那麼我們如何使用純PHP實現純粹的定時器任務,且能適應認識任務業務需求?
Time of Update: 2017-02-28
對於這個模式的應用情境不是太好總結,只是根據之前的經驗,註冊表類裡面經常會儲存一些別的地方需要用到的對象,比如redis、memcache類,還比如配置資訊config類等,它扮演的是一個類似於全域變數的角色。具體的實現其實非常簡單,如下代碼所示:containers[$key] = $value; } public function get($key){ return isset($this->containers[$key]) ? $this->
Time of Update: 2017-02-28
php程式的三大流程式控制制① 順序控制(從上到下,從左至右)②分支控制if(條件運算式){//n多語句}else if (條件運算式){//n 多語句}else if(條件表示式){//.}//這裡可能還有更多的else ifelse{ }u switch分支語句基本文法結構switch(運算式){case 常量1://n多語句;break;case 常量2://n多語句break;default://n多語句;break;}u 常量的類型 (int, float, 字串,
Time of Update: 2017-02-28
當你在發送郵件時,你或許很想知道該郵件是否被對方已閱讀。這裡有段非常有趣的程式碼片段能夠顯示對方IP地址記錄閱讀的實際日期和時間。 error_reporting(0); Header("Content-Type: image/jpeg"); //Get IP if (!emptyempty($_SERVER['HTTP_CLIENT_IP']
Time of Update: 2017-02-28
/**用PHPMailer類來發信 步驟:0: 引入1: 執行個體化2: 配置屬性3: 調用發送 **/ require('./PHPMailer/class.phpmailer.php'); $phpmailer = new
Time of Update: 2017-02-28
PHP Cookies cookie 常用於識別使用者。cookie 是一種伺服器留在使用者電腦上的小檔案。每當同一台電腦通過瀏覽器請求頁面時,這台電腦將會發送 cookie。通過 PHP,您能夠建立並取回 cookie 的值。如何建立 Cookie?setcookie() 函數用於設定 cookie。注釋:setcookie() 函數必須位於 <html> 標籤之前。文法:setcookie(name, value, expire, path,
Time of Update: 2017-02-28
引言在PHP中有好幾個預定義的介面,還挺有用的 IteratorAggregate(彙總式aggregate迭代器Iterator)IteratorAggregate extends Traversable {abstract public Traversable
Time of Update: 2017-02-28
線上運行了一套輔助系統是利用了開源的PHP改的,之前也沒怎麼玩過PHP,沒想到這玩意兒還是有不少坑的。突然某一天一個使用者做線上活動推廣,然後短時間內湧進來了上萬的請求,然後資料庫連接耗盡,短時間內幾乎拖垮了整個系統。導致系統奔潰的有多方面原因,今天主要針對PHP沒有資料庫連接池的原因來分析。在PHP裡,資料庫連接在請求到達時建立,請求結束時釋放。如果同時幾千個請求到達,那就同時會建立幾千個資料庫連接,非常恐怖。而且PHP木有比較好的資料庫連接池驅動方案,所以我們得另想辦法。解決這種問題有三種辦
Time of Update: 2017-02-28
1.字串串連字串是通過半形句號“.”來串連的,可以把兩個或兩個以上的字串串連成一個字串。2.去除字串首尾空格和特殊字元PHP中提供了trim()函數去除字串左右兩邊的空格和特殊字元,ltrim()函數去除字串左邊的空格和特殊字元,rtrim()函數是去除字串右邊的空格和特殊字元。'; //去除所有的特殊字元 echo trim($str,"\r\r(::)").''; //去除制定的特殊字元 echo
Time of Update: 2017-02-28
1.1 原廠模式,Factory 方法或者類產生對象,而不是在代碼直接new class Factory{ static function getDatabase(){ return new Mysql($host, $user, $pass); } } #使用 Factory::getDatabase();1.2 單例模式,使某個類的對象僅運行建立一個1.有個私人的靜態物件變數,專門存放本類的對象
Time of Update: 2017-02-28
這兩天弄個PHP調用 SVN 同步 update 多台伺服器更新的程式,為了避免 commit 的時候不會被阻塞卡半天得想個辦法只請求觸發,而不需要等待程式 update 完成返回結果這樣耗時太長,所以研究過了下如何讓PHP主動中斷連線的方法。搞了一下午,發現很多問題,還好最終還是弄出來了,主要是 Nginx 太坑。。廢話不多說,下面上代碼:/** * 主動斷開與用戶端瀏覽器的串連 * 如果是 Nginx 伺服器需要輸出大於等於 fastcgi_buffer_size 緩衝的資料才能即時輸出
Time of Update: 2017-02-28
介紹聊天應用程式在網上非常常見。開發人員在構建這類應用程式時的選擇也很多。這篇文章介紹了如何?基於PHP-AJAX的聊天應用程式,並且不需要重新整理頁面就可以發送和接收訊息。核心邏輯在定義應用程式的核心功能之前,先來看一看聊天應用程式的基本外觀,如以下截圖所示:通過聊天視窗底部的輸入框輸入聊天文本。點擊Send按鈕,就開始執行函數set_chat_msg。這是一個基於Ajax的函數,因此無需重新整理頁面就可以將聊天文本發送到伺服器。程式在伺服器中執行chat_send_ajax.php以及使用者