Time of Update: 2017-01-19
很基礎的東西,感覺代碼還不夠簡潔,希望高手指導修改 複製代碼 代碼如下: <?php function BubbleSort($str){ for($i=0;$i<count($str);$i++){//從數組末尾取一個值; for ($k=count($str)-2;$k>=$i;$k--){//將這個值向前冒泡; if($str[$k+1]<$str[$k]){ //將小於符號改為大於符號,就是降序排列; $tmp=$str[$k+1];
Time of Update: 2017-01-19
代碼1: 複製代碼 代碼如下: <?php function quicksort($str){ if(count($str)<=1) return $str;//如果個數不大於一,直接返回 $key=$str[0];//取一個值,稍後用來比較; $left_arr=array(); $right_arr=array(); for($i=1;$i<count($str);$i++){//比$key大的放在右邊,小的放在左邊; if($str[$i]<=$key)
Time of Update: 2017-01-19
那麼下面分享一款用php寫的擷取各搜尋蜘蛛爬行記錄代碼 支援搜尋引擎如下 可以記錄Baidu,Google,Bing,Yahoo,Soso,Sogou,Yodao爬行網站的記錄! php代碼如下 複製代碼 代碼如下: <?php function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){
Time of Update: 2017-01-19
PHP多進程:使用PHP的Process Control Functions(PCNTL/線程式控制制函數) 函數參考可見:http://www.php.net/manual/zh/ref.pcntl.php 只能用在Unix Like OS,Windows不可用。 編譯php的時候,需要加上–enable-pcntl,且推薦僅僅在CLI模式運行,不要在WEB伺服器環境運行。 以下為實現PHP多進程的簡單測試代碼: 複製代碼 代碼如下: <?php declare(ticks=1);
Time of Update: 2017-01-19
本文執行個體講述了DOM基礎及php讀取xml內容操作的方法。分享給大家供大家參考。具體分析如下:DOM(Document Object Model):文件物件模型。核心思想是:把 xml檔案看作是一個物件模型,然後通過對象的方式來操作 xml 檔案。php對xml文檔進行增刪改查(curd)操作,具體分析如下:xml文檔:class.xml複製代碼 代碼如下:<?xml version="1.0"
Time of Update: 2017-01-19
有時候你的php指令碼或許需要安全執行緒的保證,比如進行檔案寫操作的時候。本文提供了檔案加鎖函數以及使用樣本。檔案加鎖功能也可以用來獲得獨享的處理空間,防止指令碼執行發生同步錯誤。複製代碼 代碼如下:<?php/**************************************************************************file lock*@author Zeal Li*http://www.zeali.net/****************
Time of Update: 2017-01-19
在PHP中有些諸如 call_user_function() 或 usort() 的函數接受使用者自訂的函數作為一個參數。Callback 函數不僅可以是一個簡單的函數,它還可以是一個對象的方法,包括靜態類的方法。一個 PHP 函數用函數名字串來傳遞。您可以傳遞任何內建的或者使用者自訂的函數,除了 array(), echo(), empty(), eval(), exit(), isset(), list(), print() 和 unset()。一個對象的方法以數組的形式來傳遞,數組的 0
Time of Update: 2017-01-19
利用PHP編碼產生PDF檔案是一個非常耗時的工作。在早期,開發人員使用PHP並藉助FPDF來產生PDF檔案。但是如今,已經有很多函數庫可以使用了,並且能夠從你提供的HTML檔案產生PDF文檔。這讓原先耗時的工作變得非常簡單了。FPDFFPDF是一個允許使用純PHP產生PDF文檔的PHP類,換句話說,沒有使用PDFlib
Time of Update: 2017-01-19
1. PHP中的命名空間是什嗎?什麼是命名空間?“從廣義上來說,命名空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。例如,在作業系統中目錄用來將相關檔案分組,對於目錄中的檔案來說,它就扮演了命名空間的角色。具體舉個例子,檔案 foo.txt 可以同時在目錄/home/greg 和 /home/other 中存在,但在同一個目錄中不能存在兩個 foo.txt 檔案。另外,在目錄 /home/greg 外訪問 foo.txt 檔案時,我們必須將目錄名以及目錄分隔字元放在檔案名稱之前得到
Time of Update: 2017-01-19
通常情況下,當我們要產生一個隨機字串時,總是先建立一個字元池,然後用一個迴圈和mt_rand()或rand()產生php隨機數,從字元池中隨機選取字元,最後拼湊出需要的長度。複製代碼 代碼如下:function randomkeys($length){$pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ,./<>?;#:@~[]{}-_=+)(*&^%$?!';
Time of Update: 2017-01-19
變數聲明如果在一條語句中聲明一個變數,如下所示:$var='value';編譯器首先會求出語句右半部分的值,恰恰正是語句的這一部分常常會引發錯誤。如果使用的文法不正確,就會出現解析錯誤。解析錯誤例如,Parse error:解析錯誤,unexpected T_WHILE in c:program filesapache groupapachehtdocsscript.php on line 19每次確定了前一錯誤時,解析錯誤一個接一個地不斷出現,PHP在第一個解析錯誤之後就停止執行指令碼。而且,
Time of Update: 2017-01-19
核心代碼:<?php// $document 應包含一個 HTML 文檔。// 本例將去掉 HTML 標籤,javascript 代碼// 和空白字元。還會將一些通用的// HTML 實體轉換成相應的文本。$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
Time of Update: 2017-01-19
本文執行個體講述了php使用Cookie控制訪問授權的方法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:<?php if(isset($_POST['name'])||isset($_POST['pass'])){ //如果有表單有提交
Time of Update: 2017-01-19
現在正坐在安靜的寢室裡,寒假儼然已經離我而去了……今天發的是我寒假裡搞的最後一次學習,之後的時間就一直在看海賊王了。以前寫過一個C語言的遍曆目錄+複製檔案的程式,很長很複雜,現在用PHP一樣可以實現遍曆目錄,而代碼就短了不少。這個程式目的是遍曆目錄,找到所有指定檔案名稱的檔案,並刪除其中指定的字串。複製代碼 代碼如下:<?php //功能:刪除指定目錄(包括子目錄)下所有指定檔案中指定字串 $tmpfiledir =
Time of Update: 2017-01-19
php計算數組相同值出現次數,可以使用php內建函數array_count_values:說明array array_count_values ( array $input )array_count_values() 返回一個數組,該數組用 input 數組中的值作為鍵名,該值在 input 數組中出現的次數作為值。array_count_values() 例子複製代碼 代碼如下:<?php$array = array(1, "hello", 1, "world", "hello"
Time of Update: 2017-01-19
本文執行個體講述了PHP中error_log()函數的使用方法。分享給大家供大家參考。具體分析如下:今天遇到一個問題需要調試,但是只能通過日誌列印調試,就用到了error_log這個函數需要列印的是一台伺服器發送到我們伺服器的post資料代碼如下:(key和value都列印了)複製代碼 代碼如下:if(!empty($_POST) ){ while (list($key, $val) = each($_POST)) { @error_log("$key =>
Time of Update: 2017-01-19
最近老闆叫做一個資料查重的小練習,涉及從一個包含中文欄位的檔案中提取出其中的中文欄位並儲存,使用php開發。中間涉及到phpRegex中文匹配的問題,網上搜羅一大片,但是也很亂沒有一個準信兒,經過自己的代碼的修改和檢驗,先將extract函數寫下。首先要注意到的是,雙位元組字元的編碼問題,這裡我們以後還可能會遇到像韓文、日文等編碼問題,與中文理解上是一個意思。1. GBK (GB2312/GB18030)複製代碼 代碼如下:\x00-\xff GBK雙位元組編碼範圍
Time of Update: 2017-01-19
有時候在php本身沒有滿足需求的api時候,需要自己寫相應的擴充,擴充寫完之後進行編譯,即可加入自己的開發環境中,擴充php的功能。這裡實現一個連接字串和int型數的串連操作的簡單擴充。首先,下載最新的php源碼安裝包,進入ext/目錄,建立extstrcat.def:複製代碼 代碼如下:string extstrcat(string strarg, int intarg) 隨後運行:複製代碼 代碼如下:./ext_skel --extname=extstrcat
Time of Update: 2017-01-19
本文執行個體分析了php中靜態類與靜態變數用法的區別。分享給大家供大家參考。具體分析如下:static是定義一個靜態對象或靜態變數,關於static 定義的變數或類方法有什麼特性我們看完本文章的相關執行個體後就見分曉了.1. 建立對象$object = new Class(),然後使用”->”調用:$object->attribute/function,前提是該變數/方法可訪問.2. 直接調用類方法/變數:class::attribute/function,無論是靜態/非靜態都可以,
Time of Update: 2017-01-19
本文執行個體講述了php通過Chianz.com擷取IP地址與地區的方法。分享給大家供大家參考。具體分析如下:一個IP擷取的結果不是很完善,究其原因是因為ip138的IP解析應對國外的地址時不是很詳細,所以又重新寫了個用Chianz.com的代碼,執行個體代碼如下:複製代碼 代碼如下:<!DOCTYPE html> <html lang="en"> <head>