Time of Update: 2017-01-19
本文執行個體講述了PHP實現通過Luhn演算法校正信用卡卡號是否有效方法。分享給大家供大家參考。具體實現方法如下:$numbers = "49927398716 49927398717 1234567812345678 1234567812345670";foreach (split(' ', $numbers) as $n) echo "$n is ", luhnTest($n) ? 'valid' : 'not valid', '</br>'; function
Time of Update: 2017-01-19
本文執行個體總結了php實現約瑟夫問題的方法。分享給大家供大家參考。具體分析如下:一群猴子排成一圈,按1,2,...,n依次編號。然後從第1隻開始數,數到第m只,把它踢出圈,從它後面再開始數, 再數到第m只,在把它踢出去...,如此不停的進行下去, 直到最後只剩下一隻猴子為止,那隻猴子就叫做大王。要求編程類比此過程,輸入m、n,
Time of Update: 2017-01-19
本文執行個體講述了php約瑟夫問題解決關於處死犯人的演算法。分享給大家供大家參考。具體分析如下:古代某法官要判決IV個犯人的死刑,他有一條荒唐的法律將犯人站成一個圓圈,從第s個人開始數起,每到第D個人就拉出來處死,然後再數D個,再拉出來處決…… 直到剩下最後一個可以赦免.function getNum($n,$m){ //用於把所有的數存到數組初始化 $a = array(); //遍曆,存入數組 for($i=1;$i<=$n;$i++){ $a[$i] = $i; }
Time of Update: 2017-01-19
本文執行個體講述了PHP貪婪演算法解決0-1背包問題的方法。分享給大家供大家參考。具體分析如下:貪心演算法解決0-1背包問題,全域最優解通過局部最優解來獲得!比動態規劃解決背包問題更靈活!//0-1背包貪心演算法問題class tanxin{ public $weight; public $price; public function __construct($weight=0,$price=0) { $this->weight=$weight;
Time of Update: 2017-01-19
本文執行個體講述了PHP回溯法解決0-1背包問題的方法。分享給大家供大家參考。具體分析如下:這段代碼是根據《軟體設計師》教程的虛擬碼寫的;最麻煩的不是虛擬碼改成php,而是數組下標從0開始,及相應的下標判斷問題;帶著調試輸出一塊寫上<?php $v_arr = array(11,21,31,33,43,53,55,65); $w_arr = array(1,11,21,23,33,43,45,55); $n = count($w_arr ); //測試輸出
Time of Update: 2017-01-19
本文執行個體分析了PHP動態規劃解決0-1背包問題。分享給大家供大家參考。具體分析如下:背包問題描述:一個承受最大重量為W的背包,現在有n個物品,每個物品重量為t, 每個物品的價值為v。要使得這個背包重量最大(但不能超過W),同時又需要背包的價值最大。思路:定義一個二維數組,一維為物品數量(表示每個物品),二維是重量(不超過最大,這裡是15),下面數組a,動態規劃原理思想,max(opt(i-1,w),wi+opt(i-1,w-wi))
Time of Update: 2017-01-19
本文執行個體講述了php找出指定範圍內迴文數且平方根也是迴文數的方法。分享給大家供大家參考。具體如下:一、要求:給出兩個數值X和Y,統計在這個區間裡的迴文數,並且要求它們的平方根也是迴文數。其中 1<= x <= y < 10 14二、解決方案:<?phperror_reporting(E_ALL);ini_set("display_errors", 1);//避免逾時set_time_limit(0);$t1=microtime();function
Time of Update: 2017-01-19
本文執行個體講述了PHP判斷一個字串是否是迴文字串的方法。分享給大家供大家參考。具體實現方法如下:<?php function ishuiwen($str){ $len=strlen($str); $l=1; $k=intval($len/2)+1; for($j=0;$j<$k;$j++){ if (substr($str,$j,1)!=substr($str,$len-$j-1,1)) { $l=0; break; } } if ($l==
Time of Update: 2017-01-19
本文執行個體講述了PHP實現CSV檔案的匯入和匯出類。分享給大家供大家參考。具體如下:<?php/** * CSV 檔案處理類 */class Csv{ public $csv_array; //csv數組資料 public $csv_str; //csv檔案資料 public function __construct($param_arr, $column){ $this->csv_array = $param_arr; $this->path =
Time of Update: 2017-01-19
本文執行個體講述了php自訂urlencode,urldecode函數。分享給大家供大家參考。具體如下://配合JavaScript的ajaxObject函數, 對字串進行轉碼.function ajax_encode($str){ $patern = array("/%/","/=/","/&/"); // % 必須是第一個項, 替換是按項的順序進行的. $rp = array("%25","%26","%3D"); return
Time of Update: 2017-01-19
本文總結了PHP數組相關的函數。分享給大家供大家參考。具體如下:這裡包括函數名和用法說明,沒有詳細的代碼範例。感興趣的朋友可以查閱本站相關的函數用法。數組的相關處理函數current(數組名稱) 輸出數組中一個字串的值,從第一個起.key(數組名稱) 輸出數組中一個下標,從第一個起.next(數組名稱) 控制數組指標向後移動.prev(數組名稱) 控制數組指標向前移動.end(數組名稱) 控制數組指標移向最後一位.reset(數組名稱) 控制數組指標移向第一位.array_change_key_
Time of Update: 2017-01-19
本文執行個體講述了PHP遞迴遍曆指定目錄的檔案並統計檔案數量的方法。分享給大家供大家參考。具體實現方法如下:<?php//遞迴函式實現遍曆指定檔案下的目錄與檔案數量function total($dirname,&$dirnum,&$filenum){ $dir=opendir($dirname); echo readdir($dir)."<br>"; //讀取目前的目錄檔案 echo readdir($dir)."<br>"; //讀取上級目錄檔案
Time of Update: 2017-01-19
本文執行個體講述了php上傳檔案並顯示上傳進度的方法。分享給大家供大家參考。具體如下:記得上傳檔案的時候要大點,不然還沒看出來就上傳完了,並且上傳的檔案不要太大,上G的就算了,2G的我試了,PHP受不了,我測試的是300多M的,記得要調整小php.ini參數啊 “選檔案=》提交=》擷取資訊”要一氣呵成哦^ ^<?php$prefix = ini_get('session.upload_progress.prefix');$name =
Time of Update: 2017-01-19
本文執行個體講述了php通過修改header強製圖片下載的方法。分享給大家供大家參考。具體實現方法如下:function downloadFile($file){ $file_name = $file; $mime = 'application/force-download'; header('Pragma: public'); // required header('Expires: 0'); // no cache header('Cache-Control:
Time of Update: 2017-01-19
本文執行個體講述了PHP下載遠程檔案到本機存放區的方法。分享給大家供大家參考。具體實現方法如下:<?phpfunction GrabImage($url,$filename="") { if($url=="") return false; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=".jpg") return false;
Time of Update: 2017-01-19
本文執行個體講述了php實現encode64編碼類別。分享給大家供大家參考。具體如下:encode64可以獲得最短的由26個英文大小寫字母數字加上"-_"兩個符號編碼的資料, 這個個字串可以在網路自由傳輸, 無需考慮被自動轉碼引起的混亂. 缺點: 對於大字串太慢了, 原因不明, 可能PHP指令碼本身就是慢, 所以它內建 很多函數, 這些函數如果用指令碼來實現是不可忍受的. 而JavaScript就沒這個問題,
Time of Update: 2017-01-19
本文執行個體講述了php實現用於驗證所有類型的信用卡類。分享給大家供大家參考。具體如下:這個php類比較完整,可以用於驗證各種不同的信用卡,針對信用卡的卡號的通用規則進行了驗證,同時對不同類型的信用卡進行了針對性的識別。代碼接受一個信用卡號碼和有效日期,如果兩者都有效,則返回TRUE,否則返回FALSE。本外掛程式接受以下參數:$number 表示信用卡號碼的一個字串$expiry 信用卡有效日期,採用07/12或0712這樣的格式<?php// Plug-in 32:
Time of Update: 2017-01-19
本文執行個體講述了php動態產生著作權資訊的方法。分享給大家供大家參考。具體實現方法如下:function copyright($start, $owner) {$date = date('Y'); echo "© Copyright "; if ( $start < $date ) { echo "{$start} - "; } echo "{$date} {$owner}";}示範範例:如果當前年份是2013, 使用copyright('2012', 'jb51.net');
Time of Update: 2017-01-19
本文執行個體講述了php實現通用的信用卡驗證類。分享給大家供大家參考。原文說明如下:Credit Card Validation Solution (PHP Edition) Version 3.5 Description Credit Card Validation Solution™ uses a four step process to ensure credit card numbers are keyed in correctly. This procedure
Time of Update: 2017-01-19
php產生短網域名稱函數public function createRandCode($string) { $code = ''; $hex_code = '1qaz2wsx3edc4rfv5t-gb6yhn7ujm8ik9ol0p_'; $now = microtime(true) * 10000; $strlen = strlen($hex_code); $hash_code = hash('sha256', $string); //