《PHP教程:PHP那些瑣碎的知識(shí)點(diǎn)(整理)》要點(diǎn):
本文介紹了PHP教程:PHP那些瑣碎的知識(shí)點(diǎn)(整理),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP實(shí)例PHP不會(huì)檢查單引號(hào) '' 字符串中變量?jī)?nèi)插或(幾乎)任何轉(zhuǎn)義序列,所以采用單引號(hào)這種方式來(lái)定義字符串相當(dāng)簡(jiǎn)單快捷.但是,雙引號(hào) "" 則不然,php會(huì)檢查字符串中的變量或者轉(zhuǎn)義序列,并輸出變量和轉(zhuǎn)義序列的值.
PHP實(shí)例
$a = "123";
print '$a\t';
print '$a';
PHP實(shí)例輸出:
PHP實(shí)例
$a\t$a
PHP實(shí)例如果是雙引號(hào) "" :
PHP實(shí)例
$a = "123";
print "$a\t";
print "$a";
PHP實(shí)例輸出:
PHP實(shí)例注意:
PHP實(shí)例單引號(hào) '' 可以解釋 '\ 和 \\ 這倆轉(zhuǎn)義字符,就這倆!
PHP實(shí)例能使單引號(hào)字符盡量使用單引號(hào),單引號(hào)的效率比雙引號(hào)要高(因?yàn)殡p引號(hào)要先遍歷一遍,判斷里面有沒(méi)有變量,然后再進(jìn)行操作,而單引號(hào)則不需要判斷).
PHP實(shí)例單引號(hào) '' 和雙引號(hào) "" 都可以用來(lái)
PHP實(shí)例echo 和 print的區(qū)別:
PHP實(shí)例這兩都是語(yǔ)句,不是函數(shù);這倆語(yǔ)句的作用都是輸出字符串.但是:
PHP實(shí)例echo 可以傳入多個(gè)參數(shù).而 print 只有一個(gè):
PHP實(shí)例
echo "123", "123";//輸出123123
print "123", "123";//報(bào)錯(cuò),只可以寫一個(gè)參數(shù) print "123";
PHP實(shí)例echo 無(wú)返回值,而 print 返回值恒為1;
PHP實(shí)例注意:
PHP實(shí)例PHP的八中數(shù)據(jù)類型,除了數(shù)組 array 和沒(méi)有實(shí)現(xiàn) __toString 魔法函數(shù)的對(duì)象都可以用echo或者print來(lái)輸出,并且 boolean 類型的用echo或者print來(lái)輸出,只會(huì)顯示1或者不顯示.
PHP實(shí)例
echo true; //輸出1
echo false; //什么都不輸出
PHP實(shí)例數(shù)字和字符串相加:
PHP實(shí)例PHP會(huì)自動(dòng)完成字符串和數(shù)字的轉(zhuǎn)換,這樣有時(shí)候會(huì)帶來(lái)好處,有時(shí)候卻很讓人苦惱.
PHP實(shí)例
echo 1 + "2";//輸出3
echo 1 + "a";//輸出1
PHP實(shí)例$a = 1 + "A"; 試問(wèn)變量 $a 的數(shù)據(jù)類型?
PHP實(shí)例
if(is_numeric($a)){
echo "是整型";
}
else{
echo "是其他類型";
}
//最后輸出:是整型
PHP實(shí)例隨機(jī)數(shù)生成函數(shù) rand() 和 mt_rand() 的區(qū)別:
PHP實(shí)例rand() 和 mt_rand() 用法完全一致,它倆分別有兩種用法:
PHP實(shí)例
//第一種用法:
rand();//產(chǎn)生的隨機(jī)數(shù)為0到getrandmax()之間
mt_rand();//產(chǎn)生的隨機(jī)數(shù)為0到mt_getrandmax()之間
//第二種用法:
rand($min, $max);//產(chǎn)生從$min到$max之間的隨機(jī)數(shù)
mt_rand($min, $max);//產(chǎn)生從$min到$max之間的隨機(jī)數(shù)
PHP實(shí)例區(qū)別: mt_rand() 是更好地隨機(jī)數(shù)生成器,因?yàn)樗?rand() 相比播下了一個(gè)更好地隨機(jī)數(shù)種子;而且性能上比 rand() 快4倍, mt_getrandmax() 所表示的數(shù)值范圍也更大
PHP實(shí)例BCMath庫(kù)和GMP庫(kù)的區(qū)別:
PHP實(shí)例BCMath庫(kù)很容易使用.將數(shù)字作為字符串傳入函數(shù),它會(huì)將數(shù)字的和(或差,積等)作為字符串返回.不過(guò),使用BCMath時(shí),對(duì)數(shù)字所能完成的操作僅限于基本算術(shù)運(yùn)算.
PHP實(shí)例
$sum = bcadd("12345678", "87654321");//$sum = "99999999"
PHP實(shí)例GMP函數(shù)可以接受整數(shù)或者字符串作為參數(shù),不過(guò)它們更樂(lè)意將數(shù)字作為資源來(lái)傳遞,這實(shí)際上是指向數(shù)字內(nèi)部表示的指針.所以與BCMath函數(shù)不同,BCMath函數(shù)返回字符串,而GMP只返回資源.可以將這個(gè)資源作為數(shù)字傳遞到任何GMP函數(shù).
PHP實(shí)例
$four = gmp_add(2, 2);//可以傳入整數(shù)
$eight = gmp_add('4', '4');//或字符串
$twelve = gmp_add($four, $eight);//或GMP資源
PHP實(shí)例GMP唯一的缺點(diǎn)是,想要用非GMP函數(shù)查看或使用資源時(shí),需要使用 gmp_strval() 或 gmp_intval() 顯示地進(jìn)行轉(zhuǎn)換.
PHP實(shí)例注意
PHP實(shí)例BCMath與PHP捆綁發(fā)行,若GMP不與PHP捆綁,需要另外下載和安裝.完成高精度數(shù)學(xué)運(yùn)算的另一種選擇是使用PECL的 big_int 庫(kù).
PHP實(shí)例include和require的區(qū)別:
PHP實(shí)例include() 、 require() 語(yǔ)句包含并運(yùn)行指定文件.這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對(duì)于錯(cuò)誤的處理:
PHP實(shí)例?require() 語(yǔ)句在遇到包含文件不存在,或是出錯(cuò)的時(shí)候,就停止即行,并報(bào)錯(cuò).
?include() 在遇到包含文件不存在的時(shí)候,只生成警告,并且腳本會(huì)繼續(xù).
PHP實(shí)例換句話說(shuō),如果你想在丟失文件時(shí)停止處理頁(yè)面,那就別猶豫了,用 require() 吧. include() 就不是這樣,腳本會(huì)繼續(xù)運(yùn)行.
PHP實(shí)例include_once和require_once
PHP實(shí)例?include_once() 和 require_once() 一樣,應(yīng)該用于在腳本執(zhí)行期間同一個(gè)文件有可能被包含超過(guò)一次的情況下,想確保它只被包含一次以避免函數(shù)重定義,變量重新賦值等問(wèn)題.這就是 include_once() 和 require_once() 與 include() 和 require() 的主要區(qū)別.
?require_once() 、 include_once() 運(yùn)行效率要比 require() 和 include() 低,因?yàn)榍皟烧咝枰袛鄬ふ乙氲奈募欠褚呀?jīng)存在.`
PHP實(shí)例PHP合并數(shù)組 + 和 array_merge() 的區(qū)別
PHP實(shí)例同為數(shù)組合并,但是還是有差別的:
PHP實(shí)例?鍵名為數(shù)字時(shí),array_merge()不會(huì)覆蓋掉原來(lái)的值,但+合并數(shù)組則會(huì)把最先出現(xiàn)的值作為最終結(jié)果返回,而把后面的數(shù)組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋)
PHP實(shí)例
$a = array('a','b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($c);
//輸出:
// array (size=2)
// 0 => string 'a' (length=1)
// 1 => string 'b' (length=1)
var_dump(array_merge($a, $b));
//輸出:
//array (size=4)
// 0 => string 'a' (length=1)
// 1 => string 'b' (length=1)
// 2 => string 'c' (length=1)
// 3 => string 'd' (length=1)
PHP實(shí)例?鍵名為字符時(shí),+仍然把最先出現(xiàn)的鍵名的值作為最終結(jié)果返回,而把后面的數(shù)組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時(shí)會(huì)覆蓋掉前面相同鍵名的值
PHP實(shí)例
$a = array('a' => 'a' ,'b' => 'b');
$b = array('a' => 'A', 'b' => 'B');
$c = $a + $b;
var_dump($c);
//輸出:
//array (size=2)
//'a' => string 'a' (length=1)
//'b' => string 'b' (length=1)
var_dump(array_merge($a, $b));
//輸出:
//array (size=2)
//'a' => string 'A' (length=1)
//'b' => string 'B' (length=1)
PHP實(shí)例字符串常用函數(shù)
PHP實(shí)例PHP提供了很多方便的字符串函數(shù),常用的有:
PHP實(shí)例?strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) .返回 haystack 字符串從 needle 第一次出現(xiàn)的位置開(kāi)始到 haystack 結(jié)尾的字符串.若為before_needle為 TRUE,strstr() 將返回 needle 在 haystack 中的位置之前的部分.
?substr( string $string , int $start [, int $length ] ) .返回字符串 string 由 start 和 length 參數(shù)指定的子字符串.
?substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] ) .substr_replace() 在字符串 string 的副本中將由 start 和可選的 length 參數(shù)限定的子字符串使用 replacement 進(jìn)行替換.
?strrev ( string $string ) .返回 string 反轉(zhuǎn)后的字符串.
?str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) .該函數(shù)返回一個(gè)字符串或者數(shù)組.該字符串或數(shù)組是將 subject 中全部的 search 都被 replace 替換之后的結(jié)果.subject為執(zhí)行替換的數(shù)組或者字符串.也就是 haystack.如果 subject 是一個(gè)數(shù)組,替換操作將遍歷整個(gè) subject,返回值也將是一個(gè)數(shù)組.如果count被指定,它的值將被設(shè)置為替換發(fā)生的次數(shù).
?strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) .返回 needle 在 haystack 中首次出現(xiàn)的數(shù)字位置;如果提供了offset參數(shù),搜索會(huì)從字符串該字符數(shù)的起始位置開(kāi)始統(tǒng)計(jì). 如果是負(fù)數(shù),搜索會(huì)從字符串結(jié)尾指定字符數(shù)開(kāi)始.
?ltrim() 、 rtrim() 、 trim() .這仨都是刪除字符串中的空白符. ltrim() 刪除字符串開(kāi)頭的空白字符; rtrim() 刪除字符串末端的空白字符; trim() 去除字符串首尾處的空白字符.
PHP實(shí)例以上是小編收集整理的關(guān)于PHP那些瑣碎的知識(shí)點(diǎn),希望對(duì)大家有所幫助!
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/778.html