Time of Update: 2017-01-19
簡單示意一下: 複製代碼 代碼如下: <?php class test { private $_name = ''; public function setName($name) { $this->_name = $name; return $this; } public function getName() { echo $this->_name . "\n"; return $this; } } $link = new test(); // 方法鏈
Time of Update: 2017-01-19
0 與任意非數字(或者說,不可轉化為數位字元)前置的字串比較(操作符為==), 均返回 true.原因是, 數字與字串比較時, 先嘗試將字串轉換為數字, 再比較, 一個不能轉換為數位字串, 轉換結果為0, 故, 與0比較總返回 true.更加詳細的比較規則, 多種類型的比較規則, 在 PHP手冊/語言參考/運算子/比較子 可以找到.在PHP裡當兩個數字型字串(只含數位字串)進行比較的時候是直接轉換成數值進行比較的 如下樣本:(注意$a和$b兩個變數的最後一位不相等) 複製代碼 代碼如下:
Time of Update: 2017-01-19
不知道怎麼回事總是令人不舒服的,因此我通過閱讀源碼和查閱有限的資料簡要瞭解一下相關機制,本文是我對研究內容的總結。 本文首先解釋了安全執行緒的概念及PHP中安全執行緒的背景,然後詳細研究了PHP的安全執行緒機制ZTS(Zend Thread Safety)及具體的實現TSRM,研究內容包括相關資料結構、實現細節及運行機制,最後研究了Zend對於單線程和多線程環境的選擇性編譯問題。 安全執行緒
Time of Update: 2017-01-19
PHP內建函數 array_multisort 要求每個數組大小一樣 $areas是地區的二維數組,包含人數和次數,現在要按這2種數進行降序排序 複製代碼 代碼如下: foreach($areaArray as &$areas) { $times = $numbers = array(); foreach($areas as $province => $v) { $times[$province] = $v['times']; $numbers[$province] =
Time of Update: 2017-01-19
問題: 有沒有辦法在php中實現多線程呢? 假設你正在寫一個基於多台伺服器的php應用,理想的情況時同時向多台伺服器發送請求,而不是一台接一台。 可以實現嗎? 回答: 當有人想要實現並發功能時,他們通常會想到用fork或者spawn threads,但是當他們發現php不支援多線程的時候,大概會轉換思路去用一些不夠好的語言,比如perl。 其實的是大多數情況下,你大可不必使用fork或者線程,並且你會得到比用fork或thread更好的效能。 假設你要建立一個服務來檢查正在啟動並執行n台伺服器,
Time of Update: 2017-01-19
通常用number_format(); 來格式化數字,預設情況千位符是用逗號間隔的,比如: 複製代碼 代碼如下: echo number_format("10000.01231", 2); //取小數點後2位,輸出的結果為:10,000.01 千位預設是用逗號間隔。 如果我們後台驗證從用戶端擷取來的這種格式的數字就有點費勁了。 老修通常用 filter_input(INPUT_POST,"price",FILTER_VALIDATE_FLOAT) 來驗證價格,如果是帶逗號的千位符就會擷取不到。
Time of Update: 2017-01-19
複製代碼 代碼如下: /** *數字金額轉換成中文大寫金額的函數 *String Int $num 要轉換的小寫數字或小寫字串 *return 大寫字母 *小數位為兩位 **/ function get_amount($num){ $c1 = "零壹貳三肆伍陸柒捌玖"; $c2 = "分角元拾佰仟萬拾佰仟億"; $num = round($num, 2); $num = $num * 100; if (strlen($num) > 10) { return
Time of Update: 2017-01-19
這幾天,工作中遇到一個小問題,有一內容類型的欄位儲存的是語言,因為這寫資料是用Excel匯入做的,所以為了處理簡單,很多的語言就用逗號分隔,把所有語言做一個字串,這樣存入的時候就簡單的多。但是由於當初資料品質的問題,有一部分“Chinese”是 “Mandarin Chinese”,現在需要把所有的“Mandarin Chinese”改為“Chinese”。
Time of Update: 2017-01-19
一,PHP指令碼與動態網頁面。
Time of Update: 2017-01-19
這段程式其實是屬於“小偷程式”的重要部分。 這一段程式只是下載遠程圖片的那一段而已,程式寫的比較簡單,大多部分都做了注釋。 複製代碼 代碼如下: if (preg_match_all("/http://[^ "']+[.jpg|.gif|.jpeg|.png]+/ui",stripcslashes($content),$aliurl)){ $i=0; //多個檔案++ while(list($key ,$v) = each($aliurl[0])){ //echo $v."<br
Time of Update: 2017-01-19
先看一個三元運算式子: 複製代碼 代碼如下: <?php $a=1;$b=2;$c=3;$d=4; echo $a<$b?'xx':$a<$c?'yy':$a<$d?'zz':'oo'; ?> 一般按照其它語言(比如C或Java)的規則, 以上代碼的運算邏輯是: 複製代碼 代碼如下: $a<$b => true => 'xx' ==> 結束 那麼最後得到的結果就是'xx', 而再往後的運算都會被無視. 然而令人吃驚的是,
Time of Update: 2017-01-19
今天從網上學習了有關SQL注入的基本技能。SQL注入的重點就是構造SQL語句,只有靈活的運用SQL 語句才能構造出牛比的注入字串。學完之後寫了點筆記,已備隨時使用。希望你在看下面內容時先了 解SQL的基本原理。筆記中的代碼來自網路。 ===基礎部分=== 本表查詢: http://127.0.0.1/injection/user.php?username=angel' and LENGTH(password)='6
Time of Update: 2017-01-19
1、超級簡單的頁面緩衝 如果你的工程項目不是基於 CMS 系統或架構,打造一個簡單的緩衝系統將會非常實在。下面的代碼很簡單,但是對小網站而言能切切實實解決問題。 複製代碼 代碼如下: <?php // define the path and name of cached file $cachefile = 'cached-files/'.date('M-d-Y').'.php'; // define how long we want to keep the file in seconds.
Time of Update: 2017-01-19
後台profile.php代碼: 複製代碼 代碼如下: <?php $arr = array( 'firstname' => iconv('gb2312', 'utf-8', '非誠'), 'lastname' => iconv('gb2312', 'utf-8', '勿擾'), 'contact' => array( 'email' =>'fcwr@jb51.net', 'website' =>'http://www.jb51.net', ) );
Time of Update: 2017-01-19
下面介紹Crontab的兩種方法。 一、在Crontab中使用PHP執行指令碼 就像在Crontab中調用普通的shell指令碼一樣(具體Crontab用法),使用PHP程式來調用PHP指令碼。 每一小時執行myscript.php如下: 複製代碼 代碼如下: # crontab -e 00 * * * * /usr/local/bin/php /home/john/myscript.php /usr/local/bin/php為PHP程式的路徑。 二、在Crontab中使用URL執行指令碼
Time of Update: 2017-01-19
主要功能:php中使用DOM類讀取XML檔案 設計知識點: 1、XML節點迴圈讀取 2、用iconv()函數實現編碼轉換,防止中文亂碼 holiday.xml檔案如下 複製代碼 代碼如下: <?xml version="1.0" encoding="UTF-8"?> <daysOff-overTime> <year> <yearName>2012</yearName> <holiday>
Time of Update: 2017-01-19
最近在做公司項目的時候,發現一個奇怪的問題,遞交一個正常表單,竟然發現不能正常擷取到遞交的值,這一發現,不免讓我開始的時候一頭霧水,開始的時候一度認為是我的服務有問題,不能正常的寫入資料庫,後來偵測SQL語句發現,原來問題竟然出現在擷取資料上,擷取到的資料竟然都是空的,後來一調試發現,原來遞交到後端的所有變數,都已經不是預期中的變數,竟然被PHP轉化了。 提供測試代碼如下: 複製代碼 代碼如下: <html> <head> <title>測試表單提交</
Time of Update: 2017-01-19
1、首先通過strtotime()獲得日期的時間戳記 2、獲得N天前得時間戳記,通過”目前時間戳 - N天的秒數 = N天前得時間戳記“ 3、對N天前得時間戳記用date()函數進行格式轉換 下例:獲得2012-5-1號之前一天的日期 複製代碼 代碼如下: <?php //將時間點轉換為時間戳記 $date = strtotime('2012-5-1'); //輸出一天前的日期,在時間戳記上減去一天的秒數 echo date('Y-m-d',$date - 1*24*60*60);
Time of Update: 2017-01-19
1、建立wsdl 說明: A、非標準的webservice,可能只能PHP才能訪問 B、標準的webservice,就必須要使用wsdl(webservice description language,就是用XML文法標準來描述你的服務內容,我是這麼理解的) 在這裡我只介紹標準的webservice。 那麼如何建立wsdl呢?對於PHP來說這確實是件很不容易的事情,有人說用zend studio建立很方便,這是一種方法。但對於那些不喜歡用zend
Time of Update: 2017-01-19
一,函數原型 int memory_get_usage ([ bool $real_usage = false ] ) 二,版本相容 PHP 4 >= 4.3.2, PHP 5 三,基礎用法與執行個體 1,擷取當前的記憶體消耗量 複製代碼 代碼如下: <?php echo memory_get_usage(); $var = str_repeat("liuhui", 10000); echo memory_get_usage(); unset($var); echo