今天小編給大家分享php那些瑣碎的知識點,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
PHP不會檢查單引號'' 字符串中變量內插或(幾乎)任何轉義序列,所以採用單引號這種方式來定義字串相當簡單又快速。但是,雙引號 "" 則不然,php會檢查字串中的變數或轉義序列,並輸出變數和轉義序列的值。
$a = "123"; print '$a\t'; print '$a';
輸出:
$a\t$a
如果是雙引號"" :
$a = "123"; print "$a\t"; print "$a";
輸出:
#注意:
單引號'' 可以解釋'\ 和\\ 這倆轉義字符,就這倆!
能使單引號字元盡量使用單引號,單引號的效率比雙引號要高(因為雙引號要先遍歷一遍,判斷裡面有沒有變量,然後再進行操作,而單引號則不需要判斷)。
單引號'' 和雙引號"" 都可以用來
echo 和print的差別:
##這兩都是語句,不是函數;這兩個語句的作用都是輸出字串。但是:echo 可以傳入多個參數。而print 只有一個:echo "123", "123";//输出123123 print "123", "123";//报错,只可以写一个参数 print "123";
##注意: PHP的八中資料類型,除了數組array 和沒有實作__toString 魔法函數的物件都可以用echo或print來輸出,並且boolean 類型的用echo或者print來輸出,只會顯示1或不顯示。
echo true; //输出1 echo false; //什么都不输出
數字與字串相加: PHP會自動完成字串和數字的轉換,這樣有時候會帶來好處,有時卻很苦惱。
echo 1 + "2";//输出3 echo 1 + "a";//输出1
if(is_numeric($a)){ echo "是整型"; } else{ echo "是其他类型"; } //最后输出:是整型
隨機數產生函數rand() 和mt_rand() 的差異: rand() 和mt_rand() 用法完全一致,它兩個分別有兩種用法:
#
//第一种用法: rand();//产生的随机数为0到getrandmax()之间 mt_rand();//产生的随机数为0到mt_getrandmax()之间 //第二种用法: rand($min, $max);//产生从$min到$max之间的随机数 mt_rand($min, $max);//产生从$min到$max之间的随机数
#BCMath函式庫和GMP函式庫的差別: BCMath函式庫很容易使用。將數字作為字串傳入函數,它會將數字的和(或差,積等)作為字串傳回。不過,使用BCMath時,數字所能完成的操作僅限於基本算術運算。
$sum = bcadd("12345678", "87654321");//$sum = "99999999"
$four = gmp_add(2, 2);//可以传入整数 $eight = gmp_add('4', '4');//或字符串 $twelve = gmp_add($four, $eight);//或GMP资源
注意 BCMath與PHP捆綁發行,若GMP不與PHP捆綁,則需要另外下載與安裝。完成高精度數學運算的另一個選擇是使用PECL的 big_int 函式庫。
include和require的差異:#include() 、 require() 語句包含並執行指定檔案。這兩個結構在包含檔案上完全一樣,唯一的差異是對於錯誤的處理:
•require() 語句在遇到包含檔案不存在,或是出錯的時候,就停止即行,並報錯。
換句話說,如果你想在遺失檔案時停止處理頁面,那就別猶豫了,用 require() 吧。 include() 就不是這樣,腳本會繼續運作。
include_once和require_once
•include_once() 和require_once() 一樣,應該用於在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變數重新賦值等問題。這就是 include_once() 和 require_once() 與 include() 和 require() 的主要差異。
PHP合併陣列 + 和 array_merge() 的差異 # 同为数组合并,但是还是有差别的: •键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖) •键名为字符时,+仍然把最先出现的键名的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值 字符串常用函数 PHP提供了很多方便的字符串函数,常用的有: •strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 。返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。若为before_needle为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。 以上是總結PHP中零零散散的知識點的詳細內容。更多資訊請關注PHP中文網其他相關文章!$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)
$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)
•substr( string $string , int $start [, int $length ] ) 。返回字符串 string 由 start 和 length 参数指定的子字符串。
•substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] ) 。substr_replace() 在字符串 string 的副本中将由 start 和可选的 length 参数限定的子字符串使用 replacement 进行替换。
•strrev ( string $string ) 。返回 string 反转后的字符串。
•str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) 。该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果。subject为执行替换的数组或者字符串。也就是 haystack。如果 subject 是一个数组,替换操作将遍历整个 subject,返回值也将是一个数组。如果count被指定,它的值将被设置为替换发生的次数。
•strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) 。返回 needle 在 haystack 中首次出现的数字位置;如果提供了offset参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始。
•ltrim() 、 rtrim() 、 trim() 。这仨都是删除字符串中的空白符。 ltrim() 删除字符串开头的空白字符; rtrim() 删除字符串末端的空白字符; trim() 去除字符串首尾处的空白字符。