Time of Update: 2016-07-21
複製代碼 代碼如下: $a = '212345678912000005'; $b = '212345678912000001'; var_dump($a == $b); 這段代碼的輸出是bool(true), 說明這樣判斷會得出結論是兩者相等. 類似的特性在in_array()函數第3個參數為false或者不設定的情況. 原因是首先判斷字串是否是數字, 然後轉換成long或者double(C語言資料類型)再判斷 - 使用zendi_smart_strcmp. 但是,
Time of Update: 2016-07-21
一、定義數組 可以用 array() 語言結構來建立一個數組。它接受一定數量用逗號分隔的 key => value 參數對。 array( [key =>] value , ... ) // key 可以是 數字 或者 字串 // value 可以是任何值 例子1: 複製代碼 代碼如下: $phpjc = array( 0=>'word', 3=>'excel', 'outlook', 'access'); print_r($phpjc); ?> 輸出結果如下 : Array ( [0] =>
Time of Update: 2016-07-21
一.首先是PHP網頁的編碼 1. php檔案本身的編碼與網頁的編碼應匹配 a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(“Content-Type: text/html; charset=gb2312"),靜態頁面添加,所有檔案的編碼格式為ANSI,可用記事本開啟,另存新檔選擇編碼為ANSI,覆蓋源檔案。 b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(“Content-Type: text/html;
Time of Update: 2016-07-21
一個好的分頁演算法, 應該具有下面的優點: 當前頁碼應該盡量在正中間. 如果"首頁"和"尾頁"不可用(當前處於第一頁或最後一頁), 不要隱藏這兩組文字, 以免連結按鈕位置變動. 演算法簡單. 下面的演算法具有前面1和3兩個優點. 複製代碼 代碼如下: // $curr_index, 當前頁碼. // $link_count, 連結數量. // $page_count, 當前的資料的總頁數. // $start, 顯示時的起始頁碼. // $end, 顯示時的終止頁碼. $start = max(
Time of Update: 2016-07-21
PHP 包括幾個函數可以判斷變數的類型,例如:gettype(),is_array(),is_float(),is_int(),is_object() 和 is_string()。 複製代碼 代碼如下: $s = "this is a string"; $i = 9; $arr = array(2,4,6); is_string($s); //返回TRUE,表示$s是一個字串變數 is_string($i); //返回FALSE,表示$i不是一個字串變數 is_array($arr);
Time of Update: 2016-07-21
複製代碼 代碼如下:/** 作者:瀟湘部落格 時間: 2009-11-26 php技術群: 37304662 使用方法: include_once'Pager.class.php'; $pager=new Pager(); if(isset($_GET['page'])) $pager->setCurrentPage($_GET['page']); else $pager->setCurrentPage(1); $pager->setRecorbTotal(1000);
Time of Update: 2016-07-21
也就是說,如果把一個字串值賦給變數 var,var 就成了一個字串。如果又把一個整型值賦給 var,那它就成了一個整數。 PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變數之前加上用括弧括起來的目標類型。 複製代碼 代碼如下: $foo = 10; echo "轉換前:\$foo=".$foo; //輸出一個整數 echo "" //輸出:$foo=10 echo ""; $foo = (boolean) $foo; //強制轉換為布爾型 echo "轉換後:\$foo=".$foo;
Time of Update: 2016-07-21
拿到需求之後,發現這兩個網站的MYSQL資料庫都不能遠端存取(安全第一吧)。於是想起了 平時使用的CSV檔案批量錄入資料。於是 嘗試使用CSV匯入匯出。 匯入到處架構如下: 1首先將資料匯出成CSV的格式。 建立一檔案,放置在中國伺服器上:csv.php.其實就是一個匯出函數,通過資料庫,表名和SQL語句來獲得資料。 csv.php 複製代碼 代碼如下: /** * 輸出一個資料庫中的表到一個CSV檔案中 * * @param string Mysql資料庫的主機 * @param
Time of Update: 2016-07-21
1.php 介面類:interface 其實他們的作用很簡單,當有很多人一起開發一個項目時,可能都會去調用別人寫的一些類,那你就會問,我怎麼知道他的某個功能的實現方法是怎麼命名的呢,這個時候php介面類就起到作用了,當我們定義了一個介面類時,它裡面的方式是下面的子類必須實現的,比如 : 複製代碼 代碼如下: interface Shop { public function buy($gid); public function sell($gid); public function
Time of Update: 2016-07-21
目前網路上有一種ASP程式的自助友情串連聯盟很流行,這個程式需要填寫自己網站的標題、網址、郵箱、簡介等內容然後提交,並且在自己網站做好該同盟連結``並且點一次,就可以自動審核通過了。 不過,按照常規的方法,一個小時也登陸不了幾個自助友情串連聯盟,有什麼省時省力的方法呢? 看了下這個ASP程式的代碼 自己動手寫了一個PHP的自動認可程式。程式包含兩個檔案,我分別取名為 1.php link.php(這個可以隨意修改) 1.php代碼: 複製代碼 代碼如下: link.php代碼: 複製代碼
Time of Update: 2016-07-21
本篇將繼續通過該執行個體講解與資料庫的互動方式。執行個體中用到的是MySQL,也可以根據自己的需要替換為其他資料庫,其串連方式可以參考PHP相關手冊。 在下面來源程式包中dbconnector.php 提供了與MySQL的串連函數。 複製代碼 代碼如下: //定義資料連線變數 define ("MYSQLHOST", "localhost"); define ("MYSQLUSER", "root"); define ("MYSQLPASS", "root"); define
Time of Update: 2016-07-21
在PHP 中引用的意思是:不同的名字訪問同一個變數內容. 與C語言中的指標是有差別的.C語言中的指標裡面儲存的是變數的內容在記憶體中存放的地址 變數的引用 PHP 的引用允許你用兩個變數來指向同一個內容 複製代碼 代碼如下: $a="ABC"; $b =&$a; echo $a;//這裡輸出:ABC echo $b;//這裡輸出:ABC $b="EFG"; echo $a;//這裡$a的值變為EFG 所以輸出EFG echo $b;//這裡輸出EFG ?> 函數的傳址調用
Time of Update: 2016-07-21
1,在函數中,傳遞數組時 使用 return 比使用 global 要高效 比如 function userloginfo($usertemp){ $detail=explode("|",$usertemp); return $detail; } $login=userloginfo($userdb); 比 function userloginfo($usertemp){ global $detail; $detail=explode("|",$usertemp); } userloginfo(
Time of Update: 2016-07-21
效果1. 當滑鼠放在某日上時,如果當天有備忘錄,則會顯示出來,如: 複製代碼 代碼如下: function checkfortasks (thedate, e){ //找到頁面中taskbox對應設定為可見 theObject = document.getElementById("taskbox"); theObject.style.visibility = "visible"; //初始化taskbox位置 var posx = 0; var posy = 0;
Time of Update: 2016-07-21
使用php中的xml與xslt要用到一些dll庫, extension=php_domxml.dll //操作XML的函數庫 extension=php_iconv.dll //轉碼用的,比如將GB2312的轉成UTF-8的 extension=php_xslt.dll //XSLT的函數庫 使用上面這三個庫的時候,你要將php安裝目錄下的dlls目錄加入到路徑中,否則會找不到 這些類庫的 在下面的課程中,我們會用到php中的PEAR類庫,主要用了DB類庫,Sql2XML類庫,大家可以在
Time of Update: 2016-07-21
其實,這兩個是有區別的,LAST_INSERT_ID() 能返回 bigint 值的id。而,mysql_insert_id 返回的是 int 。如果你 的id 是 unsigned int,或者 bigint 的 。那麼,可能是返回的是錯誤的。而要用 LAST_INSERT_ID() 代替。 還有些朋友,返回的都是 0,不知道怎麼回事,其實 LAST_INSERT_ID() 返回的是 AUTO_INCREMENT 的 ID。 如果,表結構中,沒有設定,AUTO_INCREMENT
Time of Update: 2016-07-21
例如: class A { public $f1 = 'xxxx'; static public $f2 = 100; } 如果要將變數賦值為對象,那麼只能在構造器中進行初始化,例如: class A { private $child; public function __construct() { $this->child = new B(); } } 但是php中並沒有一個類似java中的靜態構造器/靜態塊的東西,就沒有合適的時機對其進行初始化了。 對於共有的成員還有辦法解決,例如:
Time of Update: 2016-07-21
對於一個很大的訊息佇列,頻繁進行進行大資料庫的序列化 和 還原序列化,有太耗費。下面是我用PHP 實現的一個訊息佇列,只需要在尾部插入一個資料,就操作尾部,不用操作整個訊息佇列進行讀取,與操作。但是,這個訊息佇列不是安全執行緒的,我只是盡量的避免了衝突的可能性。如果訊息不是非常的密集,比如幾秒鐘才一個,還是可以考慮這樣使用的。 如果你要實現安全執行緒的,一個建議是通過檔案進行鎖定,然後進行操作。下面是代碼: 複製代碼 代碼如下: class Memcache_Queue { private
Time of Update: 2016-07-21
本文介紹調試 PHP 應用程式的各種方法,包括在 Apache and PHP 中開啟錯誤報表,以及通過在一個簡單的 PHP 指令碼中放置策略性的 print 語句,找到更困難的 bug 的源頭。還會介紹用於 Eclipse 的 PHPEclipse 外掛程式,這是一個靈活的開發環境,具有即時文法解析能力,還會介紹 PHPEclipse 的 DBG 調試器擴充。 簡介 有許多 PHP
Time of Update: 2016-07-21
在web開發中我們經常對我們的資料庫耗時操作做緩衝,但是可能出現一個陷阱,在緩衝失效的一瞬間,大量的訪問得到緩衝失效的標示,都去後端查詢資料庫,導致同時大量的資料庫耗時查詢,出現資料庫宕機等問題。此問題隱藏深,不容易尋找。本項目主要用於解決php的進程間鎖問題。 樣本: 複製代碼 代碼如下: /** * 測試例子,同時開啟兩個頁面,可以發現總是同時只能一個頁面進入到鎖區間的代碼 * @link http://code.google.com/p/phplock/ * @author sunli *