-
PHP類和對(duì)象之定義類的方法
使用關(guān)鍵字static修飾的,稱之為靜態(tài)方法,靜態(tài)方法不需要實(shí)例化對(duì)象,可以通過類名直接調(diào)用,操作符為雙冒號(hào)::
查看全部 -
受保護(hù)的屬性與私有屬性不允許外部調(diào)用,在類的成員方法內(nèi)部是可以調(diào)用的。
查看全部 -
PHP類和對(duì)象之類的屬性
默認(rèn)都為public,外部可以訪問。一般通過->對(duì)象操作符來(lái)訪問對(duì)象的屬性或者方法,對(duì)于靜態(tài)屬性則使用::雙冒號(hào)進(jìn)行訪問。當(dāng)在類成員方法內(nèi)部調(diào)用的時(shí)候,可以使用$this偽變量調(diào)用當(dāng)前對(duì)象的屬性。
查看全部 -
PHP類和對(duì)象之創(chuàng)建一個(gè)對(duì)象
//方法內(nèi)部可以使用$this偽變量調(diào)用對(duì)象的屬性或者方法
查看全部 -
preg_quote要研究下
查看全部 -
PHP中使用PCRE庫(kù)函數(shù)進(jìn)行正則匹配
preg_match($p,?$str),$p是正則表達(dá)式,$str是源字符串
查看全部 -
靜態(tài)方法和靜態(tài)屬性
靜態(tài)屬性與方法可以在不實(shí)例化類的情況下調(diào)用,直接使用
類名::方法名
的方式進(jìn)行調(diào)用。靜態(tài)屬性不允許對(duì)象使用->操作符調(diào)用靜態(tài)方法中,$this偽變量不允許使用??梢允褂胹elf,parent,static在內(nèi)部調(diào)用靜態(tài)方法與屬性。
靜態(tài)方法也可以通過變量來(lái)進(jìn)行動(dòng)態(tài)調(diào)用,讓人很是困惑
$func?=?'getSpeed'; $className?=?'Car'; echo?$className::$func();??//動(dòng)態(tài)調(diào)用靜態(tài)方法
查看全部 -
$contents
?=?
$contents
.
fread
(
$fp
,?4096);
$content .= fread($fp,4096);等號(hào)前面為什么要加上一個(gè).
查看全部 -
設(shè)置Cookie有兩種方式:
1.原生PHP的setcookie()函數(shù):
/*
? ?para1: Cookie的變量名
? ?para2: Cookie變量的值,該值保存在客戶端,不能用來(lái)保存敏感數(shù)據(jù)
? ?para3: Cookie的失效時(shí)間,expire是標(biāo)準(zhǔn)的UNIX時(shí)間標(biāo)記,可以用time()函數(shù)或mktime()函數(shù)獲取。單位為秒
? ?para4: Cookie在服務(wù)器的有效路徑
? ?para5: Cookie有效的域名
? ?para6: 指明Cookie是否僅通過安全的HTTPS,值為0或1
? ?para7: true(表明只能通過HTTP訪問,不會(huì)訪問JavaScript等)或false(不限制)
*/
function setcookie ($name, $value = "", $expire = 0, $path = "", $domain = "", $secure = false, $httponly = false) {}2.通過header()的方式操作cookie:
與上面的原生類似,各個(gè)參數(shù)的含義請(qǐng)一一對(duì)照,函數(shù)原型如下:header("Set-Cookie:name=value[;expires=date][;domain=domain][;path=path][;secure][;httponly]");
舉個(gè)例子://設(shè)置Cookie名為id,值為100,失效時(shí)間為一小時(shí),只能通過HTTP訪問
header("Set-Cookie:id=100; expires=".gmdate('D, d M Y H:i:s \G\M\T', time()+3600); httponly);
查看全部 -
完整的說,是強(qiáng)制匹配的到字符串的結(jié)尾,舉個(gè)例子:
$name = 'tom mike'; // tom和mike之間有個(gè)空格
如果是:
$str = preg_match('/\w+/i', $name, $result);
echo $result[0];
就會(huì)匹配成功,并且輸出 tom;
如果是:
$str = preg_match('/\w+$/i', $name, $result);
echo $result[0];
就會(huì)匹配失敗,輸出時(shí)報(bào)錯(cuò),因?yàn)樵趶?qiáng)制匹配到結(jié)尾時(shí),因?yàn)樽址虚g有空格,不符合\w+ 的匹配條件,所以匹配失敗。
查看全部 -
<?php
$str = '主要有以下幾個(gè)文件:index.php, style.css, common.js';
$pattern = "/(\w+)\.(\w+)/i";//這里我將\w+用括號(hào)包含起來(lái)
preg_match_all($pattern,$str,$match);
第一個(gè)(\w+)匹配的值可以用$1進(jìn)行引用,匹配到的值是 index,style,common
第二個(gè)(\w+)匹配的值可以用$2進(jìn)行引用.匹配到的值是 php,css,js
整個(gè)完整的正則匹配到的值就是用$0進(jìn)行引用。
與這個(gè)相關(guān)的是正則表達(dá)式的后向引用,http://www.cnblogs.com/oneroundseven/archive/2011/05/06/2039004.html,可以參考下
查看全部 -
$p = "|<[^>]+>(.*?)</[^>]+>|i";
1 輸出結(jié)果:
Array
(
? ? [0] => Array
? ? ? ? (
? ? ? ? ? ? [0] => <b>example: </b>
? ? ? ? ? ? [1] => <div align=left>this is a test</div>
? ? ? ? )
? ? [1] => Array
? ? ? ? (
? ? ? ? ? ? [0] => example:?
? ? ? ? ? ? [1] => this is a test
? ? ? ? )
)
查看全部 -
.表示任意字符,*表示重復(fù)0次或更多次,?表示盡可能匹配最少,.*具有貪婪的性質(zhì),首先匹配到不能匹配為止,.*?則相反,只要求最少匹配
查看全部 -
$p = "|<[^>]+>(.*?)</[^>]+>|i";
這是一個(gè)正則表達(dá)式,<是左尖括號(hào),[^>]指除了右尖括號(hào)以外的任何字符,+指匹配一次或多次,>指右尖括號(hào),(.*?)是一種懶惰匹配模式,匹配任何可見字符,</[^>]+>同理,i指忽略大小寫
查看全部 -
正則表達(dá)式的匹配過程:根據(jù)正則表達(dá)式$p,
從$subject的第一個(gè)字符m開始匹配,my之后遇到空格不匹配;
從第二個(gè)字符y開始,之后遇到空格不匹配;
從第三個(gè)字符開始,空格不匹配;依次類推,從spark到結(jié)束,符合正則表達(dá)式$p,所以返回郵箱地址
查看全部
舉報(bào)