Time of Update: 2016-07-13
算24點遊戲大家都玩過吧,那麼怎麼用程式來計算4個數的隨意運算組合得到的結果是24呢?比如,5,5,5,1這四個數,如何湊才能得到結果為24?下面介紹一個很強悍的程式,可以將合格所有組合列出來。 "; makeValue($values); print_r($list);function makeValue($values, $set=array()) { $words = array("+", "-", "*", "/"); if(sizeof($values)==1) { $set[]
Time of Update: 2016-07-13
在php函數庫有一個函數:iconv(),iconv函數庫能夠完成各種字元集間的轉換,是php編程中不可缺少的基礎函數庫。 最近在做一個小偷程式,需要用到iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312, 發現只有用iconv函數把抓取過來的資料一轉碼資料就會無緣無故的少一些。 讓我鬱悶了好一會兒,去網上一查資料才知道這是iconv函數的一個bug。iconv在轉換字元"—"到gb2312時會出錯。 下面慢慢看一下這個函數的用法。 最簡單的應用,把gb23
Time of Update: 2016-07-13
原理很簡單,因為gb2312/gbk是中文兩位元組,這兩個位元組是有取值範圍的,而utf-8中漢字是三位元組,同樣每個位元組也有取值範圍。而英文不 管在何種編碼情況下,都是小於128,只佔用一個位元組(全形除外)。 如果是檔案形式的編碼檢查,還可以直接check utf-8的BOM資訊。話不多說,直接上函數,這個函數是用來對字串進行檢查和轉碼的。 關於BOM 位元組順序記號(英:byte-order mark,BOM)是位於碼點 U+FEFF
Time of Update: 2016-07-13
mysql_real_escape_string() 函數轉義 SQL 陳述式中使用的字串中的特殊字元。 下列字元受影響:x00nr'"x1a 如果成功,則該函數返回被轉義的字串。如果失敗,則返回 false。 用法為mysql_real_escape_string(string,connection) 參數string,必需。規定要轉義的字串。 參數connection,可選。規定
Time of Update: 2016-07-13
下面的程式使用Reflection來構造"CREATE TABLE"的sql語句。如果你不是很熟悉反射機制,可以從這個程式中看看反射的魅力與作用。 * @copyright 2010 Chris Tankersley * @package PhpORM_Cli */class PhpORM_Cli_GenerateSql{ /** * Use a MySQL database */ const MYSQL = 'mysql'; /** *
Time of Update: 2016-07-13
在任何語言中,函數都是最基本的組成單元。對於php的函數,它具有哪些特點?函數調用是怎麼實現的?php函數的效能如何,有什麼使用建議?本文將從原理出發進行分析結合實際的效能測試嘗試對這些問題進行回答,在瞭解實現的同時更好的編寫php程式。同時也會對一些常見的php函數進行介紹。 PHP函數的分類 在php中,橫向劃分的話,函數分為兩大類:user function(內建函數)和internal
Time of Update: 2016-07-13
PHP5添加了一項新的功能:Reflection。這個功能使得程式員可以reverse-engineer class, interface,function,method and extension。通過PHP代碼,就可以得到某object的所有資訊,並且可以和它互動。 假設有一個類Person: class Person { /** * For the sake of demonstration, we"re setting this private */
Time of Update: 2016-07-13
substr()函數介紹 substr() 函數返回字串的一部分。 文法:substr(string,start,length)。 string:必需。規定要返回其中一部分的字串。 start:必需。規定在字串的何處開始。正數 - 在字串的指定位置開始;負數 - 在從字串結尾的指定位置開始;0 - 在字串中的第一個字元處開始。
Time of Update: 2016-07-13
fopen()方法最簡單的方法就是用fopen(),看看檔案能否開啟,能打就檔案當然就存在。fopen() 函數開啟檔案或者 URL。如果開啟失敗,函數會返回 FALSE。文法:fopen(filename,mode,include_path,context)參數描述filename必需。規定要開啟的檔案或 URL。mode必需。規定要求到該檔案/流的訪問類型。可能的值見下表。include_path可選。如果也需要在 include_path 中檢索檔案的話,可以將該參數設為 1 或
Time of Update: 2016-07-13
靜態變數只存在於函數範圍內,也就是說,靜態變數只存活在棧中。一般的函數內變數在函數結束後會釋放,比如局部變數,但是靜態變數卻不會。就是說,下次再調用這個函數的時候,該變數的值會保留下來。 只要在變數前加上關鍵字static,該變數就成為靜態變數了。 ";} // 第一次執行,$nm = 2test(); // 第一次執行,$nm = 4test(); // 第一次執行,$nm = 8test();?> 程式運行結果: 248
Time of Update: 2016-07-13
很多學PHP的人一直也搞不清楚,一個PHP程式員和Java程式員或者是.net程式員有什麼不同,告訴你,其實都一樣,沒有什麼不同。下面的內容,就是針對一個Java程式員掌握的技能對比PHP來說的!告訴你,它們其實是一樣的,不過是工具而已,沒有高低貴賤之分。只不過你不熟練,不知道而已。 文法:必須比較熟悉,在寫代碼的時候IDE的編輯器對某一行報錯應該能夠根據報錯資訊知道是什麼樣的語法錯誤,並且知道如何修正。
Time of Update: 2016-07-13
雙冒號操作符即範圍限定操作符Scope Resolution Operator可以訪問靜態、const和類中重寫的屬性與方法。 在類定義外使用的話,使用類名調用。在PHP 5.3.0,可以使用變數代替類名。 Program List:用變數在類定義外部存取 Program List:在類定義外部使用:: 程式運行結果: Fruit Color Red Program List:調用parent方法
Time of Update: 2016-07-13
用PHP實現MVC開發模式的邏輯層和展示層有多種模板引擎可供選擇,但是官方引擎SMARTY誕生後,選擇就有了變化。它的理念和實現都是相當"前衛"的。 MVC最早是在SmallTalk語言的開發過程中總結出的一種設計模式,MVC分別代表了"模型"、"視圖"和"控制",目的就是讓不同的開發角色在大中型項目中各司其職。在網路應用程式的開發中,可以用來表示各概念之間的關係。
Time of Update: 2016-07-13
新浪微博提供的API為JSON格式,我們寫一個PHP指令碼將其轉化成數組並且像表單一樣發布到我們的網站。這就需要使用PHP去類比表單的POST動作,使用CURL庫可以很方便地實現這個需求。首先是將JSON轉化成數組。$count = 15;$url = "https://api.weibo.com/2/statuses/home_timeline.json?source=bkjia&count=".$count."&page=1";echo $url.'';$curl = curl_init()
Time of Update: 2016-07-13
PHP SESSION原理 我們知道,session是在伺服器端保持使用者會話資料的一種方法,對應的cookie是在用戶端保持使用者資料。HTTP協議是一種無狀態協議,伺服器響應完之後就失去了與瀏覽器的聯絡,最早,Netscape將cookie引入瀏覽器,使得資料可以用戶端跨頁面交換,那麼伺服器是如何記住眾多使用者的會話資料呢?
Time of Update: 2016-07-13
一般來說,緩衝的目的是把資料放在一個地方讓訪問的更快點,毫無疑問,記憶體是最快的,但是,幾百M的資料能往記憶體放麼?這不現實,當然,有的時候臨時放如伺服器緩衝,如ob_start()這個快取頁面面開啟的話在傳送檔案頭之前頁面內容都被緩衝在記憶體中,知道等頁面輸出自動清楚或者等待
Time of Update: 2016-07-13
PHP的工作模型非常特殊。從某種程度上說,PHP和ASP、ASP.NET、JSP/Servlet等流行的Web技術,有著本質上的區別。 以Java為例,Java在Web應用領域,有兩種技術:Java Servlet和JSP(Java Server Page)。Java
Time of Update: 2016-07-13
Memcache是danga.com的一個項目,最早是為 LiveJournal 服務的,目前全世界不少人使用這個快取項目來構建自己大負載的網站,來分擔資料庫的壓力。它可以應對任意多個串連,使用非阻塞的網路IO。由於它的工作機制是在記憶體中開闢一塊空間,然後建立一個HashTable,Memcached自管理這些HashTable。Memcache官方網站:http://www.danga.com/memcached,更多詳細的資訊可以來這裡瞭解。
Time of Update: 2016-07-13
以下這些tips,是我在實際工作中慢慢形成的,有些可能是不正確的,有些出於個人習慣,所以,千萬不要把以下這些條當成什麼標準,其中可能隱藏著天大的bug,代碼可能正在病態的運行中,SO!請一定仔細的看過後想想,這麼做的好處是什嗎?會產生怎樣的負面影響? 開發習慣和PHP代碼 準確的理解各種概念。現在的新東西層出不窮,望文生義和一知半解對開發工作有害無益; 代碼美觀,適當的空行、縮排,空格,這樣能更容易理解程式碼片段的意思;
Time of Update: 2016-07-13
圖片太大且規格不統一,顯示的控制需要靠JavaScript來完成,用在行動裝置上時顯示效果不好且流量巨大,需要對現有圖片庫的圖片進行一次處理,產生符合行動裝置用的縮圖,將原來用戶端JS做的工作轉移到伺服器端用PHP的GD庫來集中處理。 圖片源與需要的大小: $src_img = "wallpaper.jpg";$dst_w = 300;$dst_h = 200; 剪裁映像,保證映像地區最大化顯示,並按比例縮放到指定大小。 一開始採用了