php有很多很奇特、很難記的知識點,我做了一下記錄:
php不會檢查單引號''
字串中變數內插或(幾乎)任何轉義序列,所以採用單引號這種方式來定義字串相當簡單快捷。但是,雙引號""
則不然,php會檢查字串中的變數或者轉義序列,並輸出變數和轉義序列的值。
$a = "123";
print '$a\t';
print '$a';
輸出:
$a\t$a
如果是雙引號""
:
$a = "123";
print "$a\t";
print "$a";
輸出:
123 123
單引號''
可以解釋'\
和\\
這倆轉義字元,就這倆!
能使單引號字元盡量使用單引號,單引號的效率比雙引號要高(因為雙引號要先遍歷一遍,判斷裡面有沒有變數,然後再進行操作,而單引號則不需要判斷)。
單引號''
和雙引號""
都可以用來
這兩都是語句,不是函式;這倆語句的作用都是輸出字串。但是:
echo
可以傳入多個引數。而print
只有乙個:
echo "123", "123";//輸出123123
print "123", "123";//報錯,只可以寫乙個引數 print "123";
echo
無返回值,而print
返回值恒為1;
php的八中資料型別,除了陣列array
和沒有實現__tostring
魔法函式的物件都可以用echo或者print來輸出,並且boolean
型別的用echo或者print來輸出,只會顯示1或者不顯示。
echo true; //輸出1
echo false; //什麼都不輸出
php會自動完成字串和數字的轉換,這樣有時候會帶來好處,有時候卻很讓人苦惱。
echo 1 + "2";//輸出3
echo 1 + "a";//輸出1
$a = 1 + "a";
試問變數$a
的資料型別?
if(is_numeric($a))
else
//最後輸出:是整型
rand()
和mt_rand()
用法完全一致,它倆分別有兩種用法:
//第一種用法:
rand();//產生的隨機數為0到getrandmax()之間
mt_rand();//產生的隨機數為0到mt_getrandmax()之間
//第二種用法:
rand($min, $max);//產生從$min到$max之間的隨機數
mt_rand($min, $max);//產生從$min到$max之間的隨機數
區別:mt_rand()
是更好地隨機數生成器,因為它跟rand()
相比播下了乙個更好地隨機數種子;而且效能上比rand()
快4倍,mt_getrandmax()
所表示的數值範圍也更大
bcmath庫很容易使用。將數字作為字串傳入函式,它會將數字的和(或差,積等)作為字串返回。不過,使用bcmath時,對數字所能完成的操作僅限於基本算術運算。
$sum = bcadd("12345678", "87654321");//$sum = "99999999"
gmp函式可以接受整數或者字串作為引數,不過它們更樂意將數字作為資源來傳遞,這實際上是指向數字內部表示的指標。所以與bcmath函式不同,bcmath函式返回字串,而gmp只返回資源。可以將這個資源作為數字傳遞到任何gmp函式。
$four = gmp_add(2, 2);//可以傳入整數
$eight = gmp_add('4', '4');//或字串
$twelve = gmp_add($four, $eight);//或gmp資源
gmp唯一的缺點是,想要用非gmp函式檢視或使用資源時,需要使用gmp_strval()
或gmp_intval()
顯示地進行轉換。
include()
、require()
語句包含並執行指定檔案。這兩結構在包含檔案上完全一樣,唯一的區別是對於錯誤的處理:
換句話說,如果你想在丟失檔案時停止處理頁面,那就別猶豫了,用require()
吧。include()
就不是這樣,指令碼會繼續執行。
同為陣列合併,但是還是有差別的:
瑣碎知識點
13 反射獲取方法所在的類名稱 system.reflection.methodbase.getcurrentmethod declaringtype 12 try catch finally try catch exception ex finally view code sqliteconnec...
python numpy瑣碎知識點
最近在寫python 和c 的呼叫,在python numpy 矩陣傳入c 的時候出現了一些問題,在此記錄一下 numpy矩陣的資料在記憶體中不一定是連續的,可以用flags這個屬性進行檢視 numpy矩陣的記憶體連續分為 c order 連續和 f order 連續 也就是分別對應這c語言和for...
瑣碎知識點 1
createelement 鏈結中有 號 說明 不用註冊,直接使用。關於英語,英語算是乙個基本的技能,你不會就要去學習,很多技術第一手資料都是英文的,如果你等到別人翻譯好,那獲取就滯後了,那就被動了。因此,我特別鼓勵大家去學習英語,用蹩腳的英語去跟老外交流,不要害羞,他們也是可以理解的,同時我自己也...