Time of Update: 2016-11-23
在php中,__sleep和___wakeup是兩個分別自對象序列化前和後分別調用的方法, 其中__sleep在一個對象序列化前調用,它不接收任何參數,但會返回數組,這裡可以放置哪些屬性需要序列化,比如下面的例子: class Customer { private $name; private $credit_card_number; public function setName($name) { $this->name = $name; } public function
Time of Update: 2016-11-23
$a="2001-5-2"; $date = explode('-',$a); // explode按照'-'來拆分字串,將拆分後的資料放入數組中,即$date // $date[0] = 1997,$date[1] = 3,$date[2] = 2 $timestamp = mktime(0,0,0,$date[1],$date[2],$date[0]); echo $timestamp+(3600*8).
Time of Update: 2016-11-23
{foreach item=foo from=$video key=fkey0} {foreach item=foo_ from=$foo key=fkey1} <div class="123"> < src='{$foo_}'></><a href="{$fkey0}">{$fkey1}</a></p>
Time of Update: 2016-11-23
Example #1 定義多個命名空間,簡單組合文法<?php namespace MyProject; const CONNECT_OK = 1; class Connection { /* ... */ } function connect() { /* ... */ } namespace AnotherProject; const CONNECT_OK = 1; class Connection { /* ... */ }
Time of Update: 2016-11-23
在討論如何使用命名空間之前,必須瞭解 PHP 是如何知道要使用哪一個命名空間中的元素的。可以將 PHP 命名空間與檔案系統作一個簡單的類比。在檔案系統中訪問一個檔案有三種方式:相對檔案名稱形式如foo.txt。它會被解析為 currentdirectory/foo.txt,其中 currentdirectory 表示目前的目錄。因此如果目前的目錄是 /home/foo,則該檔案名稱被解析為/home/foo/foo.txt。相對路徑名形式如subdirectory/foo.txt。它會被解析為
Time of Update: 2016-11-23
<?php$dbhost = 'localhost:3306';$dbuser = 'root';$dbpass = 'root';$conn = mysql_connect($dbhost, $dbuser, $dbpass);if(! $conn ){ die('Could not connect to mysql');}echo "connected successfully!";$sql =
Time of Update: 2016-11-23
如果沒有定義任何命名空間,所有的類與函數的定義都是在全域空間,與 PHP 引入命名空間概念前一樣。在名稱前加上首碼 \ 表示該名稱是全域空間中的名稱,即使該名稱位於其它的命名空間中時也是如此。使用全域空間說明<?php namespace A\B\C; /* 這個函數是 A\B\C\fopen */ function fopen() { /* ... */ $f = \fopen(...); // 調用全域的fopen函數
Time of Update: 2016-11-23
<?php/** * @Author:jilongliang * @Date:2012/09/17 * @Description:資料庫的封裝 * @Version:version1.0 */ /* * 匯入設定檔 */ require '../config/config.php'; //require 'org.php/util/global.php'; /** * 擷取資料庫連接 */function Connect(){ //global
Time of Update: 2016-11-23
strlen(string)返回字串的長度。 implode(separator,array)函數把數組元素組合為一個字串。separator可選。規定數組元素之間放置的內容。預設是 ""(Null 字元串)。array必需。要結合為字串的數組。 explode(separator,string,limit)把字串分割為數組。separator必需。分隔字元string必需。要分割的字串。limit可選。規定所返回的數組元素的最大數目。
Time of Update: 2016-11-23
<?php// 建立DOM$dom = new DOMDocument("1.0", "UTF-8");$dom -> formatOutput = true;// 建立元素$phpedu = $dom -> createElement("phpedu");// 添加元素到父節點$dom -> appendChild($phpedu);$title = $dom ->
Time of Update: 2016-11-23
$_SERVER['PHP_SELF'] #當前正在執行指令碼的檔案名稱,與 document root相關。$_SERVER['argv'] #傳遞給該指令碼的參數。$_SERVER['argc'] #包含傳遞給程式的命令列參數的個數(如果運行在命令列模式)。$_SERVER['GATEWAY_INTERFACE'] #伺服器使用的 CGI 規範的版本。例如,“CGI/1.1”。$_
Time of Update: 2016-11-23
很簡單的功能,用到PHP中的反射機制,具體使用的是ReflectionFunction類,可以擷取指定函數所在PHP指令碼中的具體位置。 建立引用指令碼。Php代碼 // Filename: functions.php <?php function now() { return time(); } ?> 調用函數。 Php代碼 // Filename: call_now.php <?php require 'functions.php'
Time of Update: 2016-11-23
PHP 5 添加了類似於其它語言的異常處理模組。在 PHP 代碼中所產生的異常可被 throw 語句拋出並被 catch 語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以便捕獲可能存在的異常。每一個 try 至少要有一個與之對應的 catch。使用多個 catch 可以捕獲不同的類所產生的異常。當 try 代碼塊不再拋出異常或者找不到 catch 能匹配所拋出的異常時,PHP 代碼就會在跳轉到最後一個 catch 的後面繼續執行。當然,PHP 允許在 catch
Time of Update: 2016-11-22
在許多架構和MVC中都能夠看到PHP SPL的身影, PHP SPL 在很多實際應用都佔了很大的比重雙向鏈表<?php$obj = new SplDoublyLinkedList();$obj->push(1);$obj->push(2);$obj->push(3);$obj->unshift(10); //unshifit 替換雙向鏈表的首部$obj->rewind(); // 使用current
Time of Update: 2016-11-22
//時間轉換函式(把時間顯示人性化) function tranTime($time) { $rtime = date("m-d H:i",$time); $htime = date("H:i",$time); $time = time() - $time; if ($time < 60) { $str = '剛剛
Time of Update: 2016-11-22
<?php//phpinfo();$host = "******:389";$user = "**@**";$pswd = "*****";$ad = ldap_connect($host) or die( "Could not connect!" );if($ad){ //設定參數 ldap_set_option ( $ad, LDAP_OPT_PROTOCOL_VERSION, 3 );
Time of Update: 2016-11-22
在寫PHP程式的時候經常遇到這個問題;包括使用header()函數,使用session()函數、cookies函數都有可能出次問題PHP程式報如下錯誤: Cannot modify header information - headers already sent by (output started at 不能夠修改header infomation ,要解決這個錯誤需要明白兩點問題。
Time of Update: 2016-11-22
<?php// 處理開始元素函數function startElementHandler($parser, $element, $attributes) {echo "元素開始:".$element."<br>";if($attributes) {echo "屬性:";foreach ( $attributes as $key => $value ) { echo
Time of Update: 2016-11-22
<?php//對二維數組自訂排序function array_sort($arr,$keys,$type){ $keysvalue=array(); $i = 0; foreach($arr as $key=>$val) { $val[$keys] = str_replace("-","",$val[$keys]); $val[$keys] = str_replace(" ",&
Time of Update: 2016-11-22
<?phpdefine('EARTH_RADIUS', 6378.137);//地球半徑define('PI', 3.1415926);/** * 計算兩組經緯度座標 之間的距離 * params :lat1 緯度1; lng1 經度1; lat2 緯度2; lng2 經度2; len_type (1:m or 2:km); * return m or km */function GetDistance($lat1, $lng1, $lat2, $lng2,