Time of Update: 2016-07-21
PHP的效能一直在提高。然而,若是用的不恰當,或是一個不留神,還是可能會踩到PHP內部實現方面的坑的。我在前幾天的一個效能問題上就碰到了。 事情是這樣子的,一位同事反饋我們的一個介面每次返回需要5秒之久,我們一起review了代碼,“驚喜”的發現居然在迴圈(大約900次)中調用了一個讀緩衝的操作,而這個緩衝的key並沒有改變,因此我們把這段代碼移到了迴圈外面,再測,介面返回時間降到了2秒,嗚呼!雖然提升了1倍,但明顯不是我們能接受的結果!
Time of Update: 2016-07-21
PHP版: 複製代碼 代碼如下: $o = array('x'=>1, 'y'=>2, 'z'=>3); $arr = array(); $i = 0; foreach( $o as $arr[$i++]=>$v )/*empty*/; var_dump($arr); //$arr = array('x', 'y', 'z'); JavaScrip版: 複製代碼 代碼如下: var o = {x:1, y:2, z:3}; var arr = [], i = 0; for ( arr[i++]
Time of Update: 2016-07-21
php保留兩位小數並且四捨五入 複製代碼 代碼如下: $num = 123213.666666; echo sprintf("%.2f", $num); php保留兩位小數並且不四捨五入 複製代碼 代碼如下: $num = 123213.666666; echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2)); php進一法取整 複製代碼 代碼如下: echo ceil(4.3); // 5 echo ceil(9.999); //
Time of Update: 2016-07-21
PHP中有一個函數:String str_repeat($str, num);挺好用的....以下通過js和php類比實現。 1:PHP版本 複製代碼 代碼如下: /*PHP版實現*/ function repeat($str, $num){ return implode( $str, array_fill(0, $num+1, '') ); } 2:JavaScript實現: 複製代碼 代碼如下: /*JavaScript實現*/ function repeat(str, num){
Time of Update: 2016-07-21
複製代碼 代碼如下: SQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 資料用逗號隔開。 表單: 複製代碼 代碼如下: 好$ID_Dele=$_POST['ID_Dele']將會是一個數組,雖然說PHP是弱類型的,但這裡可沒ASP弱。 ASP可以直接: SQL="delete from [doing] where id in
Time of Update: 2016-07-21
由於工作需要,自己在手冊給定的樣本函數基礎上改寫出了這樣一個函數,代碼如下: 複製代碼 代碼如下: //將多維陣列中所有的數值轉換成字串————》最多支援三維數組 function implodex( $glue, $array, $separator='' ) { if ( ! is_array( $array ) ) return $array; $string = array(); $count = 0; foreach ( $array as $key => $val ) { if (
Time of Update: 2016-07-21
複製代碼 代碼如下: 服務熱線 400-691-6006 首頁 關於我們 HTML DropDown DHTML DropDown menu JavaScript DropDown DropDown Menu CSS DropDown 新聞中心 ASP Dropdown Pulldown menu AJAX dropdown DIV dropdown 解決方案 ASP Dropdown Pulldown menu AJAX dropdown DIV
Time of Update: 2016-07-21
前端請求端: 複製代碼 代碼如下: 被請求端: 複製代碼 代碼如下: $classid=$_GET['classid']; $num=$_GET['num']; if($classid&&$num){$results = array("key" => "value"); echo $_GET['callback'] . '(' . json_encode($results) . ')'; } 關鍵在於callback這個變數
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * Internet Shortcut * * Add the following into "head": * * * */ $shortcut = '[InternetShortcut] URL=http://onens.com/ IDList= [{000214A0-0000-0000-C000-000000000046}] Prop3=19,2 '; header('Content-type: application/octet-stream');
Time of Update: 2016-07-21
當您運行一個應用程式時,您會開啟它,做些更改,然後關閉它。這很像一次會話。電腦清楚你是誰。它知道你何時啟動應用程式,並在何時終止。但是在網際網路上,存在一個問題:伺服器不知道你是誰以及你做什麼,這是由於 HTTP 地址不能維持狀態。通過在伺服器上儲存使用者資訊以便隨後使用,PHP session
Time of Update: 2016-07-21
複製代碼 代碼如下: 45){$str=utf8Substr($r[title],0,15)."...";}else{$str=$r[title];}echo $str; ?> //截取utf8字串 function utf8Substr($str, $from, $len) { return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
Time of Update: 2016-07-21
php使用數組array_rand()函數進行高效隨機抽取指定條數的記錄,可以隨機抽取資料庫中的記錄,適合進行隨機展示和抽獎程式。該演算法主要是利用php的array_rand()函數,下面看一下array_rand()函數的主要功能:array_rand—從數組中隨機取出一個或多個單元mixed array_rand(array $input[,int $num_req]
Time of Update: 2016-07-21
PHP中的迴圈主要使用者執行相同代碼塊運行指定的次數。PHP迴圈主要有四種:while,do…while,for,foreach。下面我們分開講解每種迴圈的用法。while語句:只要指定的條件成立,則迴圈執行代碼塊。格式:while(expr){ statement;}語義:首先判斷expr,如果運算式expr為假則結束;如果運算式expr為真,執行statement語句,執行完畢再次判斷expr,若運算式expr仍為真,則繼續執行statement語句;直至運算式expr為假,結束。例:
Time of Update: 2016-07-21
PHP 中的 Switch 語句用於執行基於多個不同條件的不同動作。 Switch 語句 如果您希望有選擇地執行若干代碼塊之一,請使用 Switch 語句。 使用 Switch 語句可以避免冗長的 if..elseif..else 代碼塊。 文法 複製代碼 代碼如下: switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be
Time of Update: 2016-07-21
下面我們以.txt檔案為執行個體來介紹php讀取本地檔案的函數,讀取檔案我們可以利用fopen或file_get_contents來讀取,file_get_contents更簡單而fopen需要fread配合才可以顯示讀出的內容。1.首先來介紹一下fopen()函數下面我們給出了一個直接開啟本地檔案的代碼demo,必要的地方我們都已經加上了注釋:複製代碼 代碼如下: //直接開啟一個本地檔案的執行個體代碼 //假若我們本地的檔案是一個名為xmlas.txt的文本
Time of Update: 2016-07-21
PHP.MVC標籤文法 在基本的介紹之後,我們現在就可以來看看模板標籤系統的文法. 在看具體的標籤之前,我們應該定義什麼作為我們的標籤.為了寫一個標籤,我們使用標籤結點.左標籤()是預設的標籤.如果必要的話,這些標籤我們能夠在phpmvc-config.xml中重新定義. 模板標籤系統現在支援以下3種標籤:包含指令,聲明和運算式.我們現在來看看這些指令.包含指令 包含指令能讓我們將內容分隔為許多模組,比如:頁首,頁尾或者內容.包含的頁面可以是HTML,或者其他標籤模板頁.
Time of Update: 2016-07-21
日期時間函數是PHP 的核心組成部分。無需安裝即可使用這些函數。下面來詳細說說date函數的具體用法:PHP Date() 函數PHP Date() 函數可把時間戳記格式化為可讀性更好的日期和時間。文法date(format,timestamp)format 必需。規定時間戳記的格式。timestamp 可選。規定時間戳記。預設是當前的日期和時間。PHP的日期時間函數date()複製代碼 代碼如下:$t=time();echo date("Y-m-d H:i:s",$t);
Time of Update: 2016-07-21
我們經常用到的PHP取整函數,主要是:ceil,floor,round,intval。ceil -- 進一法取整說明float ceil ( float value )返回不小於 value 的下一個整數,value 如果有小數部分則進一位。ceil() 返回的類型仍然是 float,因為 float 值的範圍通常比 integer 要大。PHP取整函數例子 1. ceil() 例子複製代碼 代碼如下:// 5 echo ceil(9.999); // 10 ?>floor --
Time of Update: 2016-07-21
The Php.MVC Tag Action Dispatcher TagActionDispatcher是一個標準的ActionDispatcher類的實現,它支援訪問基本模板標籤.TagActionDispatcher類支援相同的ActionObjects集合和ViewResourcesConfig屬性作為預設的ActionDispatcher.TagActionDispatcher類能被用在帶有或沒有帶有模板標籤系統上,儘管由於它的額外處理會造成小的效能下降.
Time of Update: 2016-07-21
下面的PHP代碼可以解決以下問題:1.json_encode UTF8碼中文後的字串不可閱讀2.json_encode 多級數組中文亂碼問題3.json_encode 數組中包含換行時錯誤問題4.json_encode 數組中鍵為中文的問題複製代碼 代碼如下:function _encode($arr){ $na = array(); foreach ( $arr as $k => $value ) { $na[_urlencode($k)] = _urlencode