Time of Update: 2016-06-23
分區是在大型網站資料庫設計中經常會用到的解決方案,本文嘗試給出一種用PHP實現的設計方案,shard_id的結構是64bit,10bit sharid系統+10bit為類型id+10子類型id+34bit自增id。關於分區設計的更多知識請參考我的其它文章。 database = load( 'database' ); } function get_shard_id( $table_name, $cate_id, $subcate_id ) {
Time of Update: 2016-06-23
概述 函數名和 PHP 中的其它標識符命名規則相同。有效函數名以字母或底線打頭,後面跟字母,數字或底線 函數名是大小寫無關的,不過在調用函數的時候,使用其在定義時相同的形式是個好習慣 PHP 不支援函數重載,也不可能取消定義或者重定義已聲明的函數 函數的定義 當一個函數是有條件被定義時,必須在調用函數之前定義 函數中的函數 函數的參數 值傳遞與引用傳遞
Time of Update: 2016-06-23
// 全部產品 // 串連資料庫 require_once 'conn.php'; $sql="select * from tb_user"; $result=mysql_query($sql); $num=mysql_num_rows($result); $pagesize=3;//設定每頁的記錄數 $pages=ceil($num/$pagesize);//取得總頁數 if($pages
Time of Update: 2016-06-23
addAdmin(添加管理員) 流程: addAdmin.php(視圖介面)[傳遞act的值] ---> doAdminAction.php(總處理) 通過include.php包含了所有函數--->根據傳過來的act在admin.inc.php中找到合適的函數 ---> 調用mysql.func.php中的insert()插入資料庫 一個表單,action=”doAdminAction.php?act=addAdmin”,傳到addAdmin act=
Time of Update: 2016-06-23
可供PHP開發人員選擇的架構、庫或工具非常多,這也使得Web開發人員的工作變得越來越容易。那麼今天,小編為大家展示11個最受Web開發人員喜愛的PHP架構。這些PHP架構許多功能非常巧妙,能夠協助開發人員建立令人驚歎的響應式設計的網站。希望這些神奇的PHP開發架構能夠對你有所協助,讓我們一起來瞭解一下吧! Silex Symfony團隊出品了PHP 5.3微架構,可大量複用Symfony 2組件。Silex是Symfony
Time of Update: 2016-06-23
我有一個數組,結構是這樣的: $json = '[{"id":27,"children":[{"id":28,"children":[{"id":30},{"id":29}]}]},{"id":31},{"id":32}]';$arry = json_decode($json,true); 也有可能是這樣的結構: $json =
Time of Update: 2016-06-23
interface Observable{ function attach(Observer $observer); function detach(Observer $observer); function notify();}// ...login類class Login implements Observable{ private $observers; private $status = array(); const
Time of Update: 2016-06-23
概述 命名空間的作用是解決命名衝突 定義命名空間 雖然任意合法的PHP代碼都可以包含在命名空間中,但只有以下類型的代碼受命名空間的影響,它們是:類(包括抽象類別和traits)、介面、函數和常量。 命名空間通過關鍵字namespace 來聲明。如果一個檔案中包含命名空間,它必須在其它所有代碼之前聲明命名空間,除了一個以外:declare關鍵字。 在聲明命名空間之前唯一合法的代碼是用於定義源檔案編碼方式的 declare 語句。另外,所有非 PHP
Time of Update: 2016-06-23
本人小白.以前一直用整合套件.現在想更深入一些. 我想單獨下載阿帕奇,大多數人推薦.apachelounge這裡下載,因為版本會跟的上PHP的更新. 但是它裡面仍然有多個版本:Apache 2.4 binaries VC14和Apache 2.4 modules VC14(http://www.apachelounge.com/download/) .我該如何選擇呢? 也許都能用 . 我想知道他們的區別在哪裡呢 ?求明白人解答!! 回複討論(解決方案)
Time of Update: 2016-06-23
$sql = "SELECT a.id,a.cover,a.name,a.name2,b.id,b.likes,b.month FROM dede_aiyunma_user AS a,dede_aiyunma_thing AS b WHERE a.id=b.id order by a.id desc";$dsql->Execute('me',$sql);while($row = $dsql->GetArray('me')){$uid = $row['id'];$cover =
Time of Update: 2016-06-23
第二天照常能正常使用,怎麼改成比如不活動1小時,就要重新登入。 回複討論(解決方案) 法-、修改php.ini的session.gc_maxlifetime為一小時 法二、修改用戶端的PHPSESSID setcookie('PHPSESSID', $PHPSESSID, time()+3600); // 儲存SessionID到Cookie中,一小時銷毀 顯然你的伺服器用的是 Windows 系統,且 session 臨時目錄不在作業系統的臨時目錄中
Time of Update: 2016-06-23
對於靜態繫結中的static::在此不多做解釋,我想用執行個體來證明,這個例子是來自官方文檔: For example one: class A{ private function foo(){ echo "this is a test function".""; } public function test(){ $this->foo(); static::foo(); }}$A=new A();$A->test(); 輸出結果:
Time of Update: 2016-06-23
一直都是用Regex來判斷,個人不喜歡這種方式,想到ASCII碼可以來區別。 找到php有個ord()函數:W3C文檔:http://www.w3school.com.cn/php/func_string_ord.asp ord() 函數返回字串的首個字元的 ASCII 值。 大小寫字母的ASCII碼在 65-90,97-122 之間。 $v){$check=ord($v);if(($check>=65&&$check=97&&$check
Time of Update: 2016-06-23
【PHP has encountered a Statck overflow】 描述:PHP遇到堆疊溢位 解決辦法: 1、請檢查您的 MySQL 帳號是否有相應的許可權或者網站更目錄是否有相應的匿名來賓許可權(iis_user)。 2、檢查一下應用下的 config 設定檔中的串連資料庫的帳號是否正確。 3、檢查一下資料庫是否滿了,如果資料庫滿了沒有空間後也會出現這種情況。 PHP has encountered a Stack overflow
Time of Update: 2016-06-23
上次做項目的時候,遇到 查詢結果為 數組。因為條件原因,需要用$where['_string'] 去組合查詢。進而用到把數組變成單引號的字串。舉例:查詢返回的數組為: $projectcode_array = ["20130719","20130718","20130717"]; 通過 function change_to_quotes($str) { return sprintf("'%s'", $str);
Time of Update: 2016-06-23
通過瀏覽器連續訪問,會分別輸出:1,2,3,4,5,6,........ 通過瀏覽器連續訪問,會分別輸出:1,1,1,1,1,1,........ 總結 1、java的static變數伴隨著java虛擬機器的退出而消亡,java虛擬機器運行期間,static變數一直存在。
Time of Update: 2016-06-23
很詭異的事情,我的資料庫查詢statue都是utf8, 我在執行插入的php中加入header聲明uft8,取出的也是utf8,那麼都是正常漢字,但是mysql中存的是亂碼。 如果我再插入的php聲明一句 set names utf8,儲存同樣的漢字,mysql成了另外不同的亂碼,取出頁面的php也成了亂碼 如果我在mysql中直接輸入set names gbk,其他的都不改(都聲明的utf8),那麼資料庫的就正常的,取出的還是亂碼,,,,如果是通過插入php聲明set names
Time of Update: 2016-06-23
';$this->age = $age;//訪問成員變數用$this }public function __destruct(){echo '' . '嗚嗚,解構函式'; }//封裝,保護變數不能隨意更改,只能通過特定介面private $money = 1000;final public function showmen(){//final修飾,能繼承不能重寫return $this->money * 0.8;
Time of Update: 2016-06-23
此操作也可以歸結在效能操作類別上,雖然效果不是很明顯,但在一定情況下起得很好的作用,下面理幾點使用該方法的原因 大流量訪問頁面壓縮代碼節省RMB,百度首頁也這麼做。O(∩_∩)O哈哈~ 個人愛好,效能強迫症。 原始碼混亂(掩飾網站前端使用者編碼結構習慣,現今沒啥用) ..... 不多說了,主要給喜歡倒騰代碼的朋友看看。 function compress_html($string){return ltrim(rtrim(preg_replace(array("/> *([^ ]*)
Time of Update: 2016-06-23
double 欄位中有些數字小數點後有很多9,但是在計算的時候沒有導致小數點後很多位的因素 比如有些數值是 :7.66999999999999 但是計算的過程中都是 0.3+0.5 這類,不會得到小數點後這麼長的 回複討論(解決方案) floor()函數:返回不大於 value 的最接近的整數,捨去小數部分取整。 round() 函數: 對浮點數進行四捨五入