php是弱類型的,一個變量不需要預先聲明,也不需要指定類型,php中變量是$加上變量名,php的變量是區分大小寫的,例如上例中的 $my='my'.
php支持的變量類型包括:布爾型,整型,浮點型,字符串,數組和對象,前四種很常用,也和其他語言類似,不多做介紹,數組和對象后文具體介紹。
php中有函數來檢測對象的類型,它們是 getttype。gettype返回一個string,它的值可以是array,boolean,double,integer,object,resource,string 和 unknow type. php也支持顯式的類型轉換,語法和c類似。
轉換操作符,轉換為
(array) 數組
(bool) (boolean) 布爾型
(object) 對象
(float),(double),(real) 浮點數
(string) 字符串
例如,代碼如下:
輸出結果為:
還有函數可以用來判斷一個變量是不是某種類型,例如 is_array(),is_bool()等等,用法都類似。
函數和變量作用域,php聲明函數的方法很簡單,形式如下:
不需要指定返回類型,括號中也不需要指定變量類型,只要有變量名就可以,例代碼如下:
默認情況下,php是按值傳遞參數的,在函數內改變參數的值并不會改變函數外變量的值,但是php也支持按引用傳遞,語法和c一致,&$paramname,例如,下面一個經典的例子:
輸出結果:
a is 3, b is 5
a is 5, b is 3
php的函數還支持參數的默認值,語法和c也是一樣的,例如,代碼如下:
下面介紹變量的作用域,php的變量作用域和c很類似,有局部變量,函數參數,全局變量,靜態變量4種,局部變量就是在函數內聲明的變量,函數參數是在函數首部聲明的變量;不在函數中聲明的變量是全局變量,全局變量可以在任何地方訪問到,但是和c不同的是,如果在函數中要修改全局變量的值需要用global關鍵字顯式指定它是全局變量,否則php就會聲明一個同名的局部變量并且覆蓋它。例如,代碼如下:
輸出的結果是:0.03 ,1.03
php還有一種超級全局變量,超級全局變量是由php系統預定義的,主要用來訪問與環境有關的信息,例如當前用戶會話,用戶操作環境和本地環境等,超級全局變量是一個數組,例如$_server中存儲了服務器相關的信息。$_get,$_post,$_files,$_cookie中分別存儲了客戶端采用get提交,和post的提交的信息,上傳的文件,cookie信息等。這些變量的使用都很簡單,需要什么信息只需要查找
變量的變量
和c一類的靜態語言不同,php的變量名本身可以是一個變量,這對于需要動態生成很多變量的時候是很便利的,例如,代碼如下:
流程控制語句
主要包括,if else, while,for,do while,switch. 這些和c語言都很像,基本是一致的,不多做介紹,有些不同,php的 elseif是一個關鍵字,是連在一起的,而c語言是else if
下一篇 如何讓論壇游客可以查看附件圖片?