Time of Update: 2016-06-07
堆(Heap)就是為了實現優先隊列而設計的一種資料結構,它是通過構造二元堆積(二叉樹的一種)實現。根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。二元堆積還常用於排序(堆排序)。如下:最小堆(任意節點的優先順序不小於它的子節點)看看PHP SplHeap的實現:顯然它是一個抽象類別,最大堆(SplMaxHeap)和最小堆(SplMinHeap)就是繼承它實現的。最大堆和最小堆並沒有額外的方法SplHeap的簡單使用如下:class MySimpleHeap extends
Time of Update: 2016-06-07
隊列這種資料結構更簡單,就像我們生活中排隊一樣,它的特性是先進先出(FIFO)。PHP SPL中SplQueue類就是實現隊列操作,和棧一樣,它也可以繼承雙鏈表(SplDoublyLinkedList)輕鬆實現。SplQueue類摘要如下:SplQueue簡單使用如下:複製代碼 代碼如下:$queue = new SplQueue(); /** * 可見隊列和雙鏈表的區別就是IteratorMode改變了而已,棧的IteratorMode只能為: *
Time of Update: 2016-06-07
棧(Stack)是一種特殊的線性表,因為它只能線上性表的一端進行插入或刪除元素(即進棧和出棧)SplStack就是繼承雙鏈表(SplDoublyLinkedList)實現棧。類摘要如下:簡單使用如下://把棧想象成一個顛倒的數組$stack = new SplStack();/** * 可見棧和雙鏈表的區別就是IteratorMode改變了而已,棧的IteratorMode只能為: * (1)SplDoublyLinkedList::IT_MODE_LIFO |
Time of Update: 2016-06-07
SplFixedArray主要是處理數組相關的主要功能,與普通php array不同的是,它是固定長度的,且以數字為鍵名的數組,優勢就是比普通的數組處理更快。看看我原生Benchmark測試:ini_set('memory_limit','12800M'); for($size = 10000; $size 結果如下:Testing size: 10000Array(): 0.004000186920166SplArray(): 0.0019998550415039 Testing size:
Time of Update: 2016-06-07
最近看書,裡面提到了一些Hash演算法。比較有印象的是Times33,當時理解不是很透測,今天寫了段程式來驗證了一下。先上代碼:複製代碼 代碼如下:/** * CRC32 Hash function * @param $str * @return int */ function hash32($str) { return crc32($str) >> 16 & 0x7FFFFFFF; }/** * Times33 Hash function * @param $str *
Time of Update: 2016-06-07
php產生介面通訊資料/** * 產生介面資料格式 */class Response{ /** * [show 按綜合方式輸出資料] * @param [int] $code [狀態代碼] * @param [string] $message [提示資訊] * @param array $data [資料] * @param [string] $type [類型] * @return [string] [傳回值] */ public static
Time of Update: 2016-06-07
使用方法:$urls = array("http://baidu.com", "http://21andy.com", "http://google.com");$mp = new MultiHttpRequest($urls);$mp->start();/* * Curl 多線程類 * 使用方法: * ========================$urls = array("http://baidu.com", "http://dzone.com", "http://google.com"
Time of Update: 2016-06-07
代碼很簡單就不多廢話了,直接奉上:array( "method"=>"GET", "header"=>"", "timeout"=>$timeout) ); $context = stream_context_create($opts); if(@copy($url, $file, $context)) { //$http_response_header return $file; } else {
Time of Update: 2016-06-07
本文給大家分享一個PHP解密Unicode及Escape加密字串函數>6); $str.=chr(0x80 | $c & 0x3f); } else if ($c >12); $str.=chr(0x80 | $c>>6 & 0x3f); $str.=chr(0x80 | $c & 0x3f); } else if ($c >18); $str.=chr(0x80 | $c>>12 & 0x3f);
Time of Update: 2016-06-07
以下是我編寫的代碼,實現對中英文混雜字元進行分割:';print_r($r);echo '';?>運行結果:Array( [0] => 我愛北京 [1] => 3我愛上 [2] => 海-我愛 [3] => xian [4] => ggan [5] => g) 0) { $ret = array(); $len = mb_strlen($str,"UTF-8"); for ($i = 0; $i $s ="還未如願sss見gfg者不rtret不朽"; // Mild
Time of Update: 2016-06-07
Time of Update: 2016-06-07
在一個短地址項目中,根據六位字元與ID的相互映射的演算法,當ID超過2147483647的時候,六位字元的短地址映射的ID變成有符號的整型。複製代碼 代碼如下:ID > 六位字元 >映射ID ID: 2147483644 > TfffVQ > 2147483644ID: 2147483645 > efffVQ > 2147483645ID: 2147483646 > NfffVQ > 2147483646ID: 2147483647 > ffffVQ > 2147
Time of Update: 2016-06-07
HTTP、HTTPS協議下session共用解決cookie失效 的辦法:(也許不是最好的,但是實用)原理就是把session id設定到本地的cookie,複製代碼 代碼如下:$currentSessionID = session_id();session_id($currentSessionID );簡單案例代碼:(HTTP)複製代碼 代碼如下:session_start(); $currentSessionID = session_id();
Time of Update: 2016-06-07
本文將對PHP後期靜態繫結功能進行介紹,它主要用於解決在繼承範圍內引用靜態調用的類。首先來看下面這個例子:複製代碼 代碼如下:class Person{ public static function status() { self::getStatus(); } protected static function getStatus() { echo "Person is alive"; } } class Deceased
Time of Update: 2016-06-07
PHP的內建checkdnsrr函數只在linux平台有效。使用慣了在window平台不能使用的話給相容性帶來麻煩。因此寫了個checkdnsrr類比函數在window平台環境使用。if (!function_exists('checkdnsrr ')) { function checkdnsrr($host, $type) { if(!empty($host) && !empty($type)) { @exec('nslookup -type=' .
Time of Update: 2016-06-07
This article is post on https://coderwall.com/p/ggmpfaconfigure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution複製代碼 代碼如下:yum -y install libxslt-develconfigure: error: Could not find net-snmp-config binary. Please
Time of Update: 2016-06-07
1. 實現 fckeditor 按日期分目錄的形式存放上傳的檔案,比如今天是 2015年5月5日,那麼今天上傳的檔案都放在這個目錄裡面去,明天上傳的則自動建立並放在類似 2015-05-06 這樣的目錄裡面去。(1)找到 editor\editor\filemanager\connectors\php\ 檔案夾下的 config.php 檔案(2)找到如下組態變數查看代碼列印複製代碼 代碼如下:$Config['UserFilesPath'] =
Time of Update: 2016-06-07
php 類自動載入方法以上所述就是本文的全部內容了,希望大家能夠喜歡。
Time of Update: 2016-06-07
本文執行個體講述了php中smarty變數修飾用法。分享給大家供大家參考。具體實現方法如下:test.php代碼:assign("total",$total); //對模版中的變數賦值 $formatted_total = number_format($total); //格式化$total $smarty->assign("formatted_total",$formatted_total); //對模版中的變數賦值$smarty->display('test1.htm'); //顯示頁面 &
Time of Update: 2016-06-07
本文執行個體講述了php中smarty地區迴圈的方法。分享給大家供大家參考。具體實現方法如下: Smarty Test {foreach key=key1 item=item1 from=$array1} {$key1} {$item1} {/foreach} "Simon", 2 => "Elaine", 3 => "Susan"); //定義數組