那些年一起学习的PHP(三)
????????? 認(rèn)識(shí)過PHP的變量以后就要懂得使用規(guī)則,定義方式,輸出方式,存儲(chǔ)方式才可以利用變量,下面就來認(rèn)識(shí):
一:PHP數(shù)據(jù)的輸出
??? PHP支持的豐富的數(shù)據(jù)類型。后來在學(xué)習(xí)中會(huì)反復(fù)使用,有其他語(yǔ)言的學(xué)習(xí)知識(shí),比較記憶更容易了解PHP的獨(dú)到之處。下面先闡述一下PHP的輸出。PHP向?yàn)g覽器的基本輸出方式有Echo(),Print(),printf(),sprintf()我們可以對(duì)比一下一上四種輸出方式。
?
| Function | Echo() | print() | printf() | sprintf() |
| Return | Void | int:? ever return 1 | int: | string |
| Express | Echo(string argument) | print(argument) | printf(string format) | printf(string format) |
| Instruction | 寫入字符串即可 | 寫入字符串,返回值是1,用來驗(yàn)證是否成功顯示 | 支持輸出格式字符串,格式參看下面講述 | 同樣格式字符串,但是不直接呈現(xiàn)瀏覽器 |
?
其實(shí)Echo()與print() 的區(qū)別是不太大的,使用哪一個(gè)完全取決于自己的喜好,后兩者一樣。什么叫格式化字符串輸出呢?有C/C++語(yǔ)言時(shí)我們會(huì)明白這個(gè)意思,也就是輸出時(shí)我們可以應(yīng)該適當(dāng)?shù)母袷交?hào),讓輸出格式化。
?
二:PHP中使用到的格式化輸出格式
這些格式化符號(hào)下表顯示:
?
| 類型 | 描述 | 舉例 |
| %b | 將參數(shù)認(rèn)為是一個(gè)整數(shù),顯示其二進(jìn)制數(shù) | printf(%d,10);=======>顯示1010 |
| %c | 將參數(shù)認(rèn)為是一個(gè)整數(shù),顯示其ASCII字符 | printf(%c,65);======>顯示A |
| %d | 將參數(shù)認(rèn)為是一個(gè)整數(shù),顯示其十進(jìn)制 | printf(%d,10);=======>10 |
| %f | 將參數(shù)認(rèn)為是一個(gè)浮點(diǎn)數(shù),顯示其浮點(diǎn)數(shù) | printf(%f,2);========>2.00000 |
| %o | 將參數(shù)認(rèn)為是一個(gè)整數(shù),顯示其八進(jìn)制 | Printf(%o,8)============10 |
| %s | 將參數(shù)認(rèn)為是一個(gè)字符串,顯示其字符串 | printf(%s,”this? is a TV ”)=====>this is a TV |
| %u | 將參數(shù)認(rèn)為是一個(gè)整數(shù),顯示一個(gè)無(wú)符號(hào)十進(jìn)制 | printf(%u,-100)======>100 |
| %x | 將參數(shù)認(rèn)為是一個(gè)整數(shù),小寫的十六進(jìn)制 | 略 |
| %X | 將參數(shù)認(rèn)為是一個(gè)整數(shù),大寫的 | 略 |
?
?
三:PHP中變量聲明的注意點(diǎn)
???? 在php中變量的聲明類似于shell腳本語(yǔ)言,變量都是以$符號(hào)開始的,我們要注意以下幾點(diǎn):
1):$總是在變量前面,變量是有效的標(biāo)示符。
2):變量是嚴(yán)格區(qū)分大小寫,例如$Book與$book是不一樣的。
3):PHP變量不需要顯示聲明,剛好與C語(yǔ)言相反。
4):聲明之后便可以為變量賦值,賦值分為按值賦值,引用賦值引用賦值是按堆棧地址賦值
?
?
四:PHP中變量的的作用域
???? 按照作用域區(qū)分變量有局部變量,全局變量,靜態(tài)變量,PHP還有獨(dú)特的超級(jí)全局變量。局部變量只能在聲明的作用域中使用,全局作用變量在整個(gè)生命周期中都可以使用。靜態(tài)變量是聲明使用Static 修飾符,在函數(shù)退出后static 變量仍然在內(nèi)存中存在。例如
1: <?php 2: ? 3: funtion keep() 4: { 5: static $count=0; 6: $count++; 7: echo $count; 8: echo "<br />"; 9: } 10: ? 11: keep();//輸出1 12: keep();//輸出2 13: keep();//輸出3 14: keep();//輸出4 15: ? 16: //你可能以為輸出的值全部是1,但是剛好確實(shí)是1234,這里正是static的使用效果 17: ?> ? 五:超級(jí)全局變量($_SERVER,$_GET,$_POST,$_COOKIE),$_FILES,$_ENV ,$_SESSION再來看超級(jí)全局全局變量。PHP提供很多有用的預(yù)定義變量,可以再執(zhí)行腳本的任意位置訪問,用于提供大量與環(huán)境相關(guān)的信息,還可以獲得當(dāng)前用戶會(huì)話(session),操作環(huán)境,本地環(huán)境等等。例如可以使用
1: foreach($_SERVER as $var => $value) 2: { 3: //遍歷輸出所有系統(tǒng)超級(jí)變量 4: echo "$var => $value <br />"; 5: } 可以看到輸出好多系統(tǒng)變量 HTTP_HOST => Localhost 等等系統(tǒng)信息 我們就可以通過 $_SERVER[“HTTP_HOST”] 來獲得這些全局變量。$_SERVER全局變量包含WEB服務(wù)器,客戶配置,當(dāng)前信息等可以通過查找文檔使用。 另外還可以通過GET方法獲取傳遞的變量。$_GET超級(jí)全局變量包含試用GET方法專遞的參數(shù)的有關(guān)信息。例如請(qǐng)求的URL地址是http://www.baidu.com/index.html?cat=apache&id=145 ,就可以使用超級(jí)全局變量訪問如下變量:$_GET[‘cat’]=”apache”; $_GET[‘id’]=”145” ,默認(rèn)的情況下要訪問通過GET方法傳遞的變量,$_GET 超級(jí)全局變量是唯一的訪問途徑,不能用$cat, $id的方式引用GET的變量,后續(xù)了解關(guān)于安全訪問外部數(shù)據(jù)的章節(jié)會(huì)詳細(xì)說明。 另外使用POST的方法也可以傳遞變量。 具體如下:$_POST超級(jí)全局變量包含用POST方法傳遞參數(shù)有關(guān)信息。 考慮如下的請(qǐng)求表單: 1: <form action="a.php" method="post"> 2: <p/> Email-adress:<input type="text" name="email" size="20" maxlength="50" value=""> 3: <p />Password:<br /> 4: <input type="password" name="pswd" size="20" maxlength="15" value=""> 5: <br/> 6: <input type="submit" name="submit" size="20" maxlength="50" value="LOGIN"> 7: </form> 通過目標(biāo)腳本a.php就可以使用下面這些POST變量: $_POST[‘email’]=”zyl0395@126.com”; $_POST[‘pswd’]=”Bestyear”; 我們還可以使用超級(jí)全局變量保存COOKIE信息,$_COOKIE保存了HTTPcookie中的所有傳到腳本的信息,這些cookie一般由以前執(zhí)行的PHP腳本通過PHP函數(shù)setcookie()設(shè)置的。例如: 1: <?php 2: $value = ' somewhere'; 3: ? 4: setcookie("TestCookie", $value); 5: setcookie("TestCookie", $value, time()+3600); /* 一小時(shí)有效cookie */ 6: setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1); 7: ?> 這里看不懂無(wú)所謂的,后來還會(huì)專門研究cookie的知識(shí)。 $_FILES是通過POST向服務(wù)器上傳文件使用的變量,$_files主要用在當(dāng)需要上傳二進(jìn)制文件的地方,錄入上傳一個(gè)abc.mp3文件,則服務(wù)器端需要獲得該文件的相關(guān)信息,則通過變量$_files來取得。 共有五個(gè)元素:1):$_FILES['userfile']['name']
客戶端機(jī)器文件的原名稱。
2):$_FILES['userfile']['type']
文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如“image/gif”。
3):$_FILES['userfile']['size']
已上傳文件的大小,單位為字節(jié)。
4):$_FILES['userfile']['tmp_name']
文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名。
5):$_FILES['userfile']['error']
和該文件上傳相關(guān)的錯(cuò)誤代碼。['error'] 是在 PHP 4.2.0 版本中增加的。
?
六:PHP 常量定義使用
常量是程序中無(wú)法更改的量,非常有用如:圓周率
?
定義:define(”PI” ,3.1415926)
使用 echo PI;
?
七:關(guān)于PHP中的邏輯符號(hào),運(yùn)算等級(jí),表達(dá)式,流程控制,邏輯等等不再介紹,基本和C++語(yǔ)言相符,這里只是簡(jiǎn)單寫一下沒有的部分。例如 Include 在PHP中的作用。
??????? include在PHP中也是引入包含文件的句子,基本語(yǔ)法是include(/path/to/file)要引用/user/local/lib/php/wjgilmore/init.inc.php 則要這樣:
1: <?php 2: include "/user/local/lib/php/wjgilmore/init.inc.php "; 3: ?> 有個(gè)地方需要注意,就是 include在判斷句中是,必須要用大括號(hào){}界定 ,否則會(huì)錯(cuò)誤,這個(gè)要注意.,還可以通過include引用一個(gè)遠(yuǎn)程文件.如果文件所在的服務(wù)器支持PHP,通過傳遞必要的鍵值對(duì)(類似于GET請(qǐng)求的做法,所包含的變量也會(huì)得到解析) 例如:include “http://www.123.com/index.html?background=red”; 如果只引用一次,則用 include_once ,首先會(huì)檢驗(yàn)是否引用了這個(gè)文件,如果沒有則引用,如果有則不執(zhí)行 include_once(), 確保一次。 同樣的方法require是請(qǐng)求文件,同樣是require_once請(qǐng)求一次。后續(xù)用到時(shí)間詳細(xì)解釋。 ?轉(zhuǎn)載于:https://www.cnblogs.com/sunBolg/archive/2012/03/17/2403120.html
總結(jié)
以上是生活随笔為你收集整理的那些年一起学习的PHP(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NSIS修改开始菜单中图标
- 下一篇: php 加载redise_php环境篇: