程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 那些年一起學習的PHP(三)

那些年一起學習的PHP(三)

編輯:關於PHP編程

一:PHP數據的輸出

PHP支持的豐富的數據類型。後來在學習中會反復使用,有其他語言的學習知識,比較記憶更容易了解PHP的獨到之處。下面先闡述一下PHP的輸出。PHP向浏覽器的基本輸出方式有Echo(),Print(),printf(),sprintf()我們可以對比一下一上四種輸出方式。

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,用來驗證是否成功顯示 支持輸出格式字符串,格式參看下面講述 同樣格式字符串,但是不直接呈現浏覽器
其實Echo()與print() 的區別是不太大的,使用哪一個完全取決於自己的喜好,後兩者一樣。什麼叫格式化字符串輸出呢?有C/C++語言時我們會明白這個意思,也就是輸出時我們可以應該適當的格式化符號,讓輸出格式化。

二:PHP中使用到的格式化輸出格式

這些格式化符號下表顯示:
類型 描述 舉例 %b 將參數認為是一個整數,顯示其二進制數 printf(%d,10);=======>顯示1010 %c 將參數認為是一個整數,顯示其ASCII字符 printf(%c,65);======>顯示A %d 將參數認為是一個整數,顯示其十進制 printf(%d,10);=======>10 %f 將參數認為是一個浮點數,顯示其浮點數 printf(%f,2);========>2.00000 %o 將參數認為是一個整數,顯示其八進制 Printf(%o,8)============10 %s 將參數認為是一個字符串,顯示其字符串 printf(%s,”this  is a TV ”)=====>this is a TV %u 將參數認為是一個整數,顯示一個無符號十進制 printf(%u,-100)======>100 %x 將參數認為是一個整數,小寫的十六進制 略 %X 將參數認為是一個整數,大寫的 略三:PHP中變量聲明的注意點
在php中變量的聲明類似於shell腳本語言,變量都是以$符號開始的,我們要注意以下幾點:
1):$總是在變量前面,變量是有效的標示符。
2):變量是嚴格區分大小寫,例如$Book與$book是不一樣的。
3):PHP變量不需要顯示聲明,剛好與C語言相反。
4):聲明之後便可以為變量賦值,賦值分為按值賦值,引用賦值引用賦值是按堆棧地址賦值

四:PHP中變量的的作用域
按照作用域區分變量有局部變量,全局變量,靜態變量,PHP還有獨特的超級全局變量。局部變量只能在聲明的作用域中使用,全局作用變量在整個生命周期中都可以使用。靜態變量是聲明使用Static 修飾符,在函數退出後static 變量仍然在內存中存在。例如
復制代碼 代碼如下:
<?php
funtion keep()
{
static $count=0;
$count++;
echo $count;
echo "<br />";
}
10:
11: keep();//輸出1
12: keep();//輸出2
13: keep();//輸出3
14: keep();//輸出4
15:
16: //你可能以為輸出的值全部是1,但是剛好確實是1234,這裡正是static的使用效果
17: ?>

五:超級全局變量($_SERVER,$_GET,$_POST,$_COOKIE),$_FILES,$_ENV ,$_SESSION
再來看超級全局全局變量。PHP提供很多有用的預定義變量,可以再執行腳本的任意位置訪問,用於提供大量與環境相關的信息,還可以獲得當前用戶會話(session),操作環境,本地環境等等。例如可以使用
復制代碼 代碼如下:
foreach($_SERVER as $var => $value)
{
//遍歷輸出所有系統超級變量
echo "$var => $value <br />";
}

可以看到輸出好多系統變量
HTTP_HOST
=>
Localhost
等等系統信息
我們就可以通過
$_SERVER[“HTTP_HOST”]
來獲得這些全局變量。$_SERVER全局變量包含WEB服務器,客戶配置,當前信息等可以通過查找文檔使用。
另外還可以通過GET方法獲取傳遞的變量。$_GET超級全局變量包含試用GET方法專遞的參數的有關信息。例如請求的URL地址是http://www.baidu.com/index.html?cat=apache&id=145 ,就可以使用超級全局變量訪問如下變量:$_GET[‘cat']=”apache”; $_GET[‘id']=”145” ,默認的情況下要訪問通過GET方法傳遞的變量,$_GET 超級全局變量是唯一的訪問途徑,不能用$cat, $id的方式引用GET的變量,後續了解關於安全訪問外部數據的章節會詳細說明。
另外使用POST的方法也可以傳遞變量。
具體如下:$_POST超級全局變量包含用POST方法傳遞參數有關信息。
考慮如下的請求表單:
復制代碼 代碼如下:
<form action="a.php" method="post">
<p/> Email-adress:<input type="text" name="email" size="20" maxlength="50" value="">
<p />Password:<br />
<input type="password" name="pswd" size="20" maxlength="15" value="">
<br/>
<input type="submit" name="submit" size="20" maxlength="50" value="LOGIN">
</form>

通過目標腳本a.php就可以使用下面這些POST變量:
$_POST[‘email']=”[email protected]”;
$_POST[‘pswd']=”Bestyear”;
我們還可以使用超級全局變量保存COOKIE信息,$_COOKIE保存了HTTPcookie中的所有傳到腳本的信息,這些cookie一般由以前執行的PHP腳本通過PHP函數setcookie()設置的。例如:
復制代碼 代碼如下:
<?php
$value = ' somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* 一小時有效cookie */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
?>

這裡看不懂無所謂的,後來還會專門研究cookie的知識。
$_FILES是通過POST向服務器上傳文件使用的變量,$_files主要用在當需要上傳二進制文件的地方,錄入上傳一個abc.mp3文件,則服務器端需要獲得該文件的相關信息,則通過變量$_files來取得。 共有五個元素:
1):$_FILES['userfile']['name']
客戶端機器文件的原名稱。
2):$_FILES['userfile']['type']
文件的 MIME 類型,需要浏覽器提供該信息的支持,例如“image/gif”。
3):$_FILES['userfile']['size']
已上傳文件的大小,單位為字節。
4):$_FILES['userfile']['tmp_name']
文件被上傳後在服務端儲存的臨時文件名。
5):$_FILES['userfile']['error']
和該文件上傳相關的錯誤代碼。['error'] 是在 PHP 4.2.0 版本中增加的。
$_EVN 是PhP服務器使用的有關信息, $_SESSION 獲得會話的有關信息

六:PHP 常量定義使用
常量是程序中無法更改的量,非常有用如:圓周率
定義:define(”PI” ,3.1415926)
使用 echo PI;
七:關於PHP中的邏輯符號,運算等級,表達式,流程控制,邏輯等等不再介紹,基本和C++語言相符,這裡只是簡單寫一下沒有的部分。例如 Include 在PHP中的作用。
include在PHP中也是引入包含文件的句子,基本語法是include(/path/to/file)要引用/user/local/lib/php/wjgilmore/init.inc.php 則要這樣:
復制代碼 代碼如下:
<?php
include "/user/local/lib/php/wjgilmore/init.inc.php ";
?>

有個地方需要注意,就是
include在判斷句中是,必須要用大括號{}界定
,否則會錯誤,這個要注意.,還可以通過include引用一個遠程文件.如果文件所在的服務器支持PHP,通過傳遞必要的鍵值對(類似於GET請求的做法,所包含的變量也會得到解析)
例如:include “http://www.123.com/index.html?background=red”;
如果只引用一次,則用
include_once
,首先會檢驗是否引用了這個文件,如果沒有則引用,如果有則不執行
include_once(),
確保一次。
同樣的方法require是請求文件,同樣是require_once請求一次。後續用到時間詳細解釋。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved