PHP自學筆記詳細版本(一)

PHP自學筆記詳細版(一)


一、變量(弱類型)
1.1 定義
$value = 整型/浮點型/字符串/BOOL/變量
例如:
$value1 = 100;
$value2 = 100.01;
$value3 = "Hello PHP";
$value4 = "TRUE";
$value5 = $value1;
1.2 命名(與C/C++ 等語規則相同)
1.3 可變變量
$value = "Tom";
$$value = "Sister";
echo "$value";==>輸出 Tom
echo "$value's $Tom";==>輸出 Tom‘s Sister
echo "$value's ${$value}";==>輸出 Tom‘s Sister
注意:
$value = "Tom Cat";
$$value = "Cry";
echo "$$value";==>輸出 Cry
echo "${Tom Cat}";==>錯誤,因爲變量名是不能有空格的
1.4 引用
引用,直白的說就是可以將一個變量的地址映射到不同的變量對應的指針上。
達到多個變量可以修改同一塊內存。
例如:
$val = "CSDN:sjlwtf";
$foo = &$val;
echo "$val <br /> $foo <br />"// val 和 foo 都是 CSDN:sjlwtf
$foo = "sjlwtf";
echo "$val <br /> $foo <br />"// val 和 foo 都是 sjlwtf

注意:
引用只能引用變量

1.5 類型
四種標量類型:整型,浮點型,字符串
兩種複合類型:數組,對象
兩種特殊類型:資源,NULL
整型,浮點型,字符串,對象,NULL 與C/C++ 類似,這裏不做總結

數組:
兩種定義方式
普通:下標(key) 爲0,1,2,3,4,5,6,7,8....... 
$arr = array("sjlwtf","hello","PHP");
$arr1 = range(1,10);//數組元素1-10
關聯型:我們可以自己定義下標,
$arr2 = array("song"=>1,2=>"jiu","lin"=>"WTF");
看似複雜,其實很簡單:
arr2["song" ] 的值就是 1
arr2[2] 的值就是 "jiu"
arr2["lin"]的值就是“WTF”
資源:
因爲PHP是弱類型語言,我們只有知道一個變量被什麼類型的值賦值,才能判斷出這個變量的類型。
例如:
$val// 這是什麼類型?我也不知道
$val = 100;// 因爲 100 是整型,所以$val是整型以此類推
$val = fopen("sjlwtf.txt","wb");// val 就是一個文件資源類型,這裏要和C/C++區分
1.6 類型轉換
1.6.1 自動類型轉換
BOOL和NULL可以自動轉換成整型或者是浮點型
字符串可以自動轉換成整型或者是浮點型
$var = “100h”;
$var += 1;//var 爲 101 依次類推
1.6.2 強制類型轉換
整型:(integer)/(int)---> $var = (int)100.12
布爾:(bool)(boolean)---> $var = (bool)-1;
浮點:(float)(double)(real)
字符串:(string)
數組:(array)
對象:(obejict)

1.6.3 類型判斷函數
is_xxx($var);是XXX類型返回true,不是返回false;
is_int();
is_bool();
.....
1.7 常量
1.7.1常量的定義
<span style="white-space:pre">		</span>boolean define(string name,mixed value [,bool case]);
case :true ,不區分大小寫;false,區分大小寫
可省略,默認是false
define("ANDO_CURRENT",1002);
1.7.1預定義常量
__FILE__文件
__LINE__行號
__FUNCTION__函數
__CLASS__
__METHOD__方法名
1.8 運算符
這裏只總結比較特殊的運算符
1.8.1 點號  .    運算符
$var = "sjlwtf";
echo "helloWorld ".$var." Come"; //helloWorld sjlwtf Come
1.8.2  <> 就是 !=
1.8.3 數組 + 運算符
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b;====> apple,banana,cherry
$c = $b + $a;   ====>pear,starwberry,cherry
注意:數組的加運算是不能覆蓋被加的數組,只能追加
1.8.4 ==  和 ===
非數組情況:== 只是比較兩個值得大小,===要比較類型
$val = 0;
$val == "0";//true
$val === '0';//false
數組情況:== 在key值順序相同時,只比較value , === 是完全比較
$var1 = array(1,2);
$var2 = array("1"=>1,2=>"2");
$var1 == $var2;//true
$var1 === $var2;//false
1.8.5 邏輯運算符(完全與其他語言一樣)
1.8.6 其他運算符
執行運算符:`ls -al`  tab鍵上面的單引號,直接執行命令
錯誤控制符:@表達式這個表達式的錯誤會被忽略
數組指定符:key=>value
成員訪問符:對象->成員
類型運算符:對象instanceof類


















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章