各位觀眾老爺大家好,歡迎收看內(nèi)褲總動員之程序猿的IT程序大講堂,今天給大家分享一個小知識點就是前臺和后臺交互的那點事PHP
在PHP中有兩個名詞解釋. 也算是說明我們當前APP客戶端和 網(wǎng)頁的區(qū)別把.
BS? 無需下載的瀏覽
CS? 需下載的瀏覽
環(huán)境的搭建
在網(wǎng)絡(luò)上需要下載一個XAMPP軟件.進行安裝. 個人使用的是XAMPP for mac 版本的.??
先說一下我們使用PHP都需要了哪些東西.
MYSQL?? Apache(中間件) ?? PHP?? 這三個,?? 而我為何推薦大家安裝XAMPP呢,是因為 他已經(jīng)把我們這三個東西都已經(jīng)全部包裝了. 只需安裝下一步即可. 如果單個安裝的話對于我們非常復(fù)雜.所以推薦大家直接安裝XAMPP即可.
好啦,關(guān)于XAMPP的安裝方法大家可以去搜索一下.比較簡單.直接下一步下一步即可.
PHP標簽聲明方式
<?PHP
echo "<h1>hello word</h1>";
?>
在PHP里, 表聲明以 <?PHP為開頭, 以 ?>為結(jié)尾. echo 為打印/輸出的意思.
而且我們的聲明文件也都是以 ****.PHP為結(jié)尾的文件.
PHP注釋
<?PHP
//單行注釋
#這也是單行注釋
/*
多行注釋,他橫跨很多行
*/
?>
變量
變量是以$開頭,后面跟變量名.
以字母.數(shù)字.下劃線組成,不能以數(shù)字開頭.
區(qū)分大小寫.
栗子:
$name = "neiku";
$age = 26;
$num = 15+"12";?? //? $num = 27;
在PHP里, 加號就是相加的,他不分后面的數(shù)字是否是字符串類型. 但是如果是 15+ "ab12" 的話,那他的值為 15,他會略過 ab12的. 但是有?? 15+ "12ab"的話? 他的值 還是27.
變量賦值
賦值有兩種:? 直接賦值, 引用賦值.
栗子:
$sum = "hello";
$sum2 = &$sum; //在這里添加的&后, $sum會把他的內(nèi)存地址賦值給$sum2. 如果$sum2在重新賦值的話,$sum的值也會變化.這個有點像C語言里的指針.
變量的變量
栗子:
$sum = "hello";
$$sum = "word";
echo $sum; // 輸出hello;
echo ${$sum}; //輸出word;
echo $hello; // 輸出 word;
在這里,變量前面還可以加上$ 在賦值一個新的值.? 他會生成一個新的值. 這個確實有點怪怪的. 至于用處嘛........說是有大用.??? 這個在 我們的forin 里面 他在遍歷的時候 可以用到.?
超全局變量
PHP提供了很多有用的預(yù)定義的變量.用于提供大量與環(huán)境有關(guān)的信息.
打印/輸出全局變量:print_r($_SERVER);?? 在這里 解釋一下print_r他打印的是數(shù)組. 數(shù)組專用打印用的.而我們的這些預(yù)定義變量都是屬于數(shù)組類型.所以他需要用print_r來打印.
print_r($_SERVER);
他會打印出你當前環(huán)境的所有相關(guān)信息.
而在這里我會單獨的列舉一些我們常用的一些方法.
print_r($_SERVER['SERVER_NAME']);
他會返回你當前運行腳本所在的服務(wù)器的主機名.
如果你把127.0.0.1 更改為 localhost? 他的主機名也會更改為localhost?? 或者前面你放上你當前電腦的IP ,他就會變?yōu)镮P.
print_r($_SERVER['REMOTE_ADDR']);
客戶端IP地址.
但是注意,在這里他獲取的只是當前的IP地址,但是他不能識別localhost.
print_r($_SERVER['REQUEST_URI']):
獲取當前的文件路徑.
print_r($_SERVER['HTTP_USER_AGENT']);
獲取當前操作系統(tǒng)和瀏覽器的相關(guān)信息.
$_get
該變量包含使用get方法傳遞的參數(shù)的有關(guān)信息.?
<form action = "index.php"? method = "get">
<input type="text" name="name"/>
<input type="password" name="pwd"/>
</form>
然后在index.php文件中書寫PHP代碼.
<?PHP
?$name = $_GET['name'];
$pwd = $_GET['pwd'];
echo $name;
echo "<br/>";
echo $pwd;
?>
在頁面輸入信息
321?????? 321
提交后,顯示頁面
但是請注意,get方法他會把你的輸入信息在網(wǎng)址上顯示.
所以接下來給大家介紹一下post.
post
該變量包含使用post方法傳遞的參數(shù)的有關(guān)信息.
html代碼如上,我就不寫了. 郁悶,不讓復(fù)制咱帖.? 唯一不同的地方就是method="post" 他的請求方式改為post
PHP代碼同上.一樣.
在頁面輸入信息
321?????? 321
321 321
提交后,顯示頁面
而這回,頁面將不會有你的輸入信息.
$_REQUEST
該變量記錄著通過各種輸入方法傳遞給腳本的變量.如get,post,但不要使用這個超級變量,因為它不安全而且速度慢.
$_COOKIE
cookie變量數(shù)組
$_SESSION變量數(shù)組
會話變量數(shù)組
$_FILE
與上傳文件有關(guān)的變量數(shù)組
$_ENV
環(huán)境變量數(shù)組
$_GLOBALS
所有全局變量數(shù)組
常量
常量是指在程序執(zhí)行中無法修改的值.如PI(3.14159236);
常量對大小寫敏感,通常常量名總是大寫.
常量是全局的,可以在腳本任何地方使用.
常量分為 內(nèi)置常量 和 自定義常量;
常量使用define()函數(shù)來定義.
栗子:
define('PI',3.1415926);
echo PI; //3.1415926?
內(nèi)置常量
PHP_OS????? PHP所在的操作系統(tǒng)的常量.
PHP_VERSION? 當前PHP的版本號.
魔術(shù)常量
__LINE__??? 文件中的當前行號.
__FILE__???? 文件的完整路徑和文件名;
__FUNCTION__???? 函數(shù)名稱.
__CLASS__?? 類名稱.
__METHOD__???? 類的方法名.
數(shù)據(jù)類型
字符串
字符串有三種定義方式:單引號, 雙引號,定界符;
單引號字符串中出現(xiàn)的變量不會被變量的值替代.
雙引號字符串中最重要的一點是其中的變量會被變量值替代.
如果遇到美元符號$,解析器會盡可能多的取得后面的字符以組成一個合法的變量名,如果想明確的指定名字的結(jié)束,用{} 括號把變量名括起來.
栗子:
$ sum = "hello";
echo = "welcome to china, i am ***, {sum}s";
字符串定界的方法使用定界符語法 <<<
栗子:
$str = <<< AAA
dasfdas fdsafdasfdsa
fdsafdsaf fdsasadf
AAA;
echo $str; //dasfdas fdsafdasfdsa fdsafdsaf fdsasadf
這里需要注意:
結(jié)束標示符所在的行不能包含任何其他字符,這意味著該標示符不能被縮進,在分號之前,之后都不能有和任何空格或者制表符.
字符串轉(zhuǎn)意
\n??? 換行????????????? \r???? 回車?????????? \t??????? 水皮制表符(Tab建);
\\???? \(反斜杠)??????? \$??? $(美元符)???? \ "??? "?? (雙引號)
整形
$age = 25;?????
浮點型
$age = 5.29;
布爾型
$bu = TRUE;
$bu = FALSE;
復(fù)合數(shù)據(jù)類型
數(shù)組
$week = array('星期一','星期二','星期三');
對象
$db = new db;
特殊數(shù)據(jù)類型
資源
$fh = fopen("text.txt","r");?? 打開某文件或者路徑. 如果失敗,則返回false.
null
null無,表示沒有值,null不表示空格,也不標示0, 以下情況則認為是null;
沒有設(shè)置任何預(yù)定義的變量.
明確的賦值null;
使用函數(shù)unset()清除.
自動類型轉(zhuǎn)換
因為PHP對于類型定義非常的松散.所以有時候會根據(jù)引用變量的環(huán)境.將變量自動轉(zhuǎn)換為最適合的類型.
栗子:
$num? = 5;
$str = "15";
echo $num + $str;?? //20;
$str = "100 hello";
$num = 200;
echo $str + $num;??? //300
$str='1.2';
if($str){? //判斷$str為true或者false
echo "hello word";
}??? //? hello word;
類型相關(guān)函數(shù)
gettype()返回變量的類型.共有8個類型.
string? 字符串
integer? 整形
float? 浮點型
boolean? 布爾
array? 數(shù)組
object? 對象
null 空
unkonw? 未知
栗子:
$sty = "hello";
echo gettype($sty);?? //string
is_type();
查看變量是否屬于某個類型,是返回1,否 則不返回.
栗子:
$arr = array(1);
echo? is_array($arr); //1;
$num = 5;
echo is_int($num); // 1;
var_dump();
獲取變量的值和類型的詳細信息.
栗子
$str = 'hello';
echo var_dump($str);//???? string(5) "hello"
$arr = array('A','B','C');
echo dump($arr); //??? array(3){[0] => string(1)"A" [1] => string(1)"B" [2] => string(1)"C"}
好啦,關(guān)于PHP的一些知識就簡單的介紹到這,后續(xù)還會有陸續(xù)的更新. 感謝各位觀眾老爺?shù)拈喿x.如有建議謝謝大家給與留言.