php 應用中的點滴

2021-05-22 03:05:43 字數 1261 閱讀 8238

本文記錄的是在 php 程式過程中的一些點滴

適用版本 php 5.3.2

preg_match('/(.*?)/is', $content)

根據文件,正則修正符的使用說明:

/i 不區分大小寫

/s 如果設定了此修正符,模式中的圓點元字元(.匹配所有的字元,包括換行符。沒有此設定的話,則不包括換行符。這和 perl 的 /s 修正符是等效的。排除字元類例如 [^a] 總是匹配換行符的,無論是否設定了此修正符

上面的例子就是用到此選項

/u 本修正符反轉了匹配數量的值使其不是預設的重複,而變成在後面跟上「?」才變得重複。這和 perl 不相容。也可以通過在模式之中設定 (?u) 修正符或者在數量符之後跟乙個問號(如 .*?)來啟用此選項。

/m預設情況下,pcre 將目標字串作為單一的一「行」字元所組成的(甚至其中包含有換行符也是如此)。「行起始」元字元(^)僅僅匹配字串的起始,「行結束」元字元($)僅僅匹配字串的結束,或者最後乙個字元是換行符時其前面(除非設定了 d

修正符)。這和 perl 是一樣的。

當設定了此修正符,「行起始」和「行結束」除了匹配整個字串開頭和結束外,還分別匹配其中的換行符的之後和之前。這和 perl 的 /m 修正符是等效的。如果目標字串中沒有「/n」字元或者模式中沒有 ^ 或 $,則設定此修正符沒有任何效果。 

pdo_mysql 中,鏈結mysql 的 pdostatment 使用的引數形式為:param,如:

$sth = $dbh->prepare('select id from tuser where name=:name');

$sth->execute(array(':name' => $name));

如果使用?param的話,execute 會報錯,但是沒有進一步的錯誤資訊, 如 :

$sth = $dbh->prepare('select id from tuser where name=?name');

$sth->execute(array('?name' => $name)); //返回 false

同時 $dbh->errorinfo() 的內容為:

array (

[0] => 00000

[1] => 

[2] =>  )

點滴 MOSFT 應用

一般來說,全橋去控制電機正反轉,自己搭全橋的話,會使用pmos和nmos一起用。而我們公司有一位同事使用了4個nmos去驅動,然後在使用的時候發現有連個mos總是發燙。後來發現還是最基本的對mos的datasheet給夠了解,或者說應用不到位。比如irfr120n,不知道它的配對的管子是哪個?而他們...

PHP中 的應用

php中 表示乙個變數的宣告,value test 表示變數value的值是test。而 則好像是c語言中的指標,它指向乙個變數值的乙個變數。例如 value a 這句話的意思就是首先取 value變數的值,為test,然後再將其值變成乙個變數即表示為 test a php view plain c...

php 中引用的應用

在php 中引用的意思是 不同的名字訪問同乙個變數內容.1 變數之間的引用 a 10 b a 此時 b和 a所指向的是同一儲存位址 如果 a 11 則zend會開闢乙個新的單元從來是的 a 11 b 還是原來的位址 a 10 b a 此時 b 就是 a的別名,比如這個人叫小張,大名叫張三一樣,如果 ...