什麼是變量? 在程序的執行過程中值可以發生變化的量,稱之為變量 如:$username="xiaosan"; //定義一個變量$username,並賦值為"xiaosan" $username="強哥"; //變量$username的值替換為"強哥" echo $username; //輸出變量的值到浏覽器顯示,結果:"強哥" 如何定義一個變量? 定義變量的格式:$變量名; 注意:變量名的命名規則: ①變量名由字母、數字或下劃線組成,注意:字母主要指的是24個英文字母 ②變量名不能以數字或特殊字符開頭 ③變量名是嚴格區分大小寫的 合法的變量名: $username; $_username; $_username2; 不合法的變量名: $2username; //錯誤,變量名不能以數字開頭 $&username; //錯誤,變量名不能是特殊字符開頭 給變量賦值: $username="xiaosan"; //給變量$username賦值為"xiaosan" echo gettype($username); //變量$username的類型為String字符型 $num=10; //給變量$num賦值為10 echo gettype($num); //變量$num的類型為interger型 $Score=100; //變量$Score賦值為100 echo $score; //Notice: Undefined variable: score in F:\wamp\www\index.php on line 3 對變量的一些理解: ①在php中用$符號定義變量 ②變量名嚴格區分大小寫 ③變量名都是以字母或下劃線開頭,不能以數字或特殊字符開頭 ④php是一種若類型的語言,不需要事先聲明變量的數據類型,變量的數據類型在賦值的時候會自動聲明 什麼是自定義變量和內置變量? 自定義變量:通過 $變量名 格式 定義的變量 內置變量:php系統自帶的一些變量,可以在作用域中直接使用,有的地方叫做預定義變量或超全局變量 php中九中預定義變量 $_GET $_POST $_REQUEST $_SERVER $_ENV $_FILES $_COOKIE $_SESSION $GLOBALS 什麼是可變變量? 變量名也是一個變量的變量,叫做可變變量(可變變量又稱為變量的變量) 比如: $one="first"; $$one="linux"; echo $one; //輸出普通變量 echo $$one; //此時變量名$one又是一個變量 echo $first; //可變變量的變量名$one被變量值first替代,與$$one等效 什麼是常量? 在程序的執行過程中,不會發生變化的量,稱之為常量 常量的定義 定義常量的格式:define(常量名,常量值,true|false); 如:define("DBHOST","127.0.0.1"); define("DBNAME","root",true); define("dbpassword","123"); define("USERNAME","admin"); define("USERNAME","admin123"); echo DBHOST; //結果:127.0.0.1 echo $DBHOST; //錯誤:Notice: Undefined variable: DBHOST in F:\wamp\www\index.php on line 6 echo dbhost; //錯誤:Notice: Use of undefined constant dbhost - assumed 'dbhost' in F:\wamp\www\index.php on line 6 結果:dbhost echo dbname; //結果:root echo dbpassword; //結果:123 echo USERNAME; //Notice: Constant USERNAME already defined in F:\wamp\www\index.php on line 6 結果:admin 對常量理解的一些總結: ①常量的定義使用define()函數,而不使用$符號 ②常量名習慣上使用大寫字母 ③常量的命名規則與變量一樣,由字母、數字或下劃線組成,不能以數字或特殊字符開頭 ④參數3:表示常量名是否區分大小寫, true-不區分大小寫 false-區分大小寫 ⑤常量值一般為四種基本標量類型 ⑤常量的值是固定不變的,一旦被定義,就不能被改變或取消定義 如何檢測一個常量是否被定義? 格式:defined(被檢測的常量名); 注意:如果常量被定義的話,返回true,否則返回false 如:if(defined("USERNAME")){ echo "常量已被定義"; }else{ echo "常量未被定義"; } 什麼是自定義常量和內置常量? 自定義常量:通過define()語言結構定義的常量,稱之為自定義常量 內置常量:php系統自帶的常量,這些常量在任何頁面數值都不發生改變,又叫預定義常量 常見的幾種內置常量: PHP_VERSION: 顯示php版本號 PHP_OS: 顯示服務器的操作系統,如:windows、linux等 __FILE__: php文件名 __LINE__: php文件的行數 TRUE 真 FALSE 假 php的數據類型 php的數據類型主要包括如下幾種: 四種基本數據類型(標量類型) 整型:int,表示一個整數,如:$num=10; 浮點型:float,表示一個小數,如:$score=98.5 字符串型:String,表示一組由單引號或雙引號中括起來的一系列字符,如:$str="admin"; 布爾型:boolean,主要用於條件判斷,表示真或假,如:$i=true; 注意:在浏覽器中true體現為數值1,false體現為空,即; 什麼都沒有,空白 兩種復合數據類型 數組:array 對象:object 兩種特殊數據類型 空類型:NULL 資源類型:resource 數據類型間的轉換 字符串與整型之間的轉換 如:$a="66"; $b=22; $c=$a+$b; $d="abc"; $e="10ddd"; echo $b+$d; //結果為整型值:22 echo $b+$e; //結果為整型值:32 echo $c; //結果為整型值:88 echo $a; //結果為字符串類型值:66 echo echo gettype($c); //結果:interger,說明是整型 echo gettype($a); //結果:String,說明是字符串類型 總結: ①當字符串類型與整型進行運算時,字符串類型首先會轉化為整型,再參與運算 ②如果參與運算的字符串內容不是以數字開頭,則在參與運算時,會自動轉換為整型值0 ③如果參與元算的字符串內容以數字開頭,但不全是數字,則在參與運算時,數字開頭部分會轉換為整型參與運算 強制轉換 如:$a=1.1; $b=(int)$a; $c=(string)$a; echo $a; //結果:浮點型值 1.1 echo $b; //結果:整型值 1 echo $c; //結果:字符型值 1.1 echo gettype($a); //double,代表浮點型 echo gettype($b); //interger,代表整型 echo gettype($c); //string,代表字符型 字符串的定義? 何為字符串?由單引號或雙引號括起來的一系列字符的組合 定義字符串的三種方式: 第一種:單引號 如:$str='admin'; echo $str; //浏覽器中顯示結果為:admin $str1='$str'; echo $str1; //浏覽器中顯示結果為:$str1 , 而不是admin 總結:單引號中的變量會原樣輸出,不會被解析 在單引號中,如何顯示某些特殊符號到浏覽器? 如:echo 'his is a \'book\''; //結果:this is a 'book' echo '$#^&'; //結果:$#^& echo 'this is a 'book''; //Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in F:\wamp\www\index.php on line 8 echo 'this is a "book"'; //結果:this is a "book" 總結: ①若想在單引號中嵌套單引號,需要在前面使用轉義符"\" ②若想在單引號中將其它特殊符號顯示出來,不需要使用轉義符"\" ③單引號中是不能再嵌套單引號的,如果非要嵌套的話,必須使用轉義符"\" ④單引號中可以嵌套雙引號,雙引號可以不用轉義符"\" 第二種:雙引號 如:$str="admin"; echo $str; //浏覽器中顯示結果為:admin $str1="$str"; echo $str1; //浏覽器中顯示結果為:admin 總結:雙引號中的變量會被解析 在雙引號中,如何顯示某些特殊符號到浏覽器? 如:echo ''this is a \"book\""; //結果:this is a "book" echo "$#^&"; //結果:$#^& echo "this is a "book""; //Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in F:\wamp\www\index.php on line 8 echo "this is a 'book'"; //結果:this is a 'book' echo "\$str"; //結果:$str 總結: ①若想在雙引號中嵌套雙引號,需要在前面使用轉義符"\" ②若想在雙引號中將其它特殊符號顯示出來,不需要使用轉義符"\"(標注:變量除外) ③若想在雙引號中將變量名前的$符號顯示出來,必須使用轉義符"\" ④雙引號中是不能再嵌套雙引號的,如果非要嵌套的話,必須使用轉義符"\" ⑤雙引號中可以嵌套單引號,單引號可以不用轉義符"\" 第三種:定界符 定界符定義字符串的格式: $str=<<<xxx 字符串內容 xxx; 注意: ①xxx為定界符的開始與結束,名稱可以自己命名 ②定界符的結束必須單獨占一行,並且在行首,前面不能有空格 ③定界符中的變量會被解析 ④若想在定界符中顯示某些特殊符號,不需要在前面使用轉義符"\"(變量除外) ⑤若想在定界符中顯示變量前的$符號,需要使用轉義符"\" 特殊字符在字符串中的應用 在php中,有一些常用的特殊字符代表著特殊的含義 如:\n //代表換行 \t //代表制表符 \r //代表回車 \\ //代表一個反斜槓 單引號中的這些特殊字符會被原樣輸出,不會被解析為特殊含義 如:echo ''hello\nworld; //結果:hello\nworld 雙引號中的這些特殊字符會被解析為特殊含義 如:echo "hello\nworld"; //結果:hello world ,在浏覽器中顯示一行,在源代碼中顯示兩行,因為html中的換行符只認<br/>標簽。