天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP學習筆記之二

1. 數組
php的數組其實是一個關聯數組,或者說是哈希表。php不需要預先聲明數組的大小,可以用直接賦值的方式來創建數組。例如:
//最傳統,用數字做鍵,賦值
$state[0]="Beijing";
$state[1]="Hebei";
$state[2]="Tianjin";
//如果鍵是遞增的數字,則可以省略
$city[]="Shanghai";
$city[]="Tianjin";
$city[]="Guangzhou";
//用字符串做鍵
$capital["China"]="Beijing";
$capital["Japan"]="Tokyo";
用array()來創建數組會更加方便一點,可以將數組元素作為array的參數傳遞給他,也可以用=>運算符創建關聯數組。例如:
$p=array(1,3,5,7);
$capital=array(“China”=>”Beijing”, “Japan=>”Tokyo”);
array其實是一種語法結構,而不是函數。和array類似,還有一個list(),它可以用來提取數組中的值,并給多個變量賦值。例如:
list($s,$t)=$city;
echo $s,' ',$t;
輸出結果:Shanghai Tianjin
注意,list方法只能用于由數字索引的數組。
php內建了一些常用的數組處理函數,具體可以參考手冊。常用的函數舉例如下,count或者sizeof可以得到數組的長度,array_merge 可以合并兩個,或者多個數組,array_push(pop)可以像堆棧一樣使用數組。
復制代碼 代碼如下:
<?php
$state[0]="Beijing";
$state[1]="Hebei";
$state[2]="Tianjin";
$city[]="Shanghai";
$city[]="Tianjin";
$city[]="Guangzhou";
$capital["China"]="Beijing";
$capital["Japan"]="Tokyo";
echo count($city),'<br/>';
array_push($capital,"Paris");
$newarray=array_merge($city,$capital);
foreach($newarray as $elem)
echo $elem.'<br/>';
?>

輸出結果為:
3
Shanghai
Tianjin
Guangzhou
Beijing
Tokyo
Paris
2. 類和對象
php5開始對面向對象編程有了很好的支持。php中的類的概念和其他面向對象的語言比如C#是十分相似的,它也是一個值和方法的聚合體,使用class關鍵字定義。例如:
復制代碼 代碼如下:
<?php
class AuthUser {
protected $userName;
protected $password;
public function __construct($userName,$password) {
$this->userName=$userName;
$this->password=$password;
}
public function GetUserName() {
return $userName;
}
public function ChangePassword($old,$new) {
if($this->password==$old) {
$this->password=$new;
return true;
}else
return false;
}
public function Login($password) {
return $this->password==$password;
}
public static function CreateUser($userName,$password) {
$user=new AuthUser($userName,$password);
return $user;
}
}
$user=AuthUser::CreateUser("Admin","123");
echo $user->GetUserName();
if($user->ChangePassword('abc', 'new'))
echo 'ChangePassword success';
else
echo 'Change Password fail';
$user->ChangePassword("123", "321");
if($user->Login("321"))
echo "Login";
else
echo "Login fail";
?>

上面是一個雖然沒有什么用但是語法結構上較為完整的類。首先使用class關鍵字定義類的名字,內部可以定義字段和方法。字段和方法的修飾詞可以是private,protected,public 和 final(僅方法有)。其含義和其它語言一致。不再贅述。不同的地方在于,php不支持函數的重載。另外,php5的構造函數的定義是__construct,注意前綴是兩個下劃線。php4的構造函數的定義和其它語言一致,是和類名一樣的函數,php5也兼容這種寫法。php5還支持析構函數,名字是__destruct。在函數內部,可以使用$this變量來獲得當前對象的引用。 php也支持靜態函數,同樣是使用static關鍵字修飾。示例中最后一個函數就靜態函數。靜態函數不能通過類的實例引用。
類的定義下面是使用類的代碼示例,php也是通過new關鍵字來實例化一個類。通過->運算符來引用對象的方法。注意其靜態類的引用方法是::,這是和C++一致的。
下面再簡單介紹下類的繼承。php中使用extends關鍵字來實現類的繼承,這是和Java一致的:
復制代碼 代碼如下:
<?php
class BaseClass {
function __construct() {
print "In BaseClass constructor/n";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructor/n";
}
}
$obj = new BaseClass();
$obj = new SubClass();
?>

輸出的結果是: In BaseClass constructor In BaseClass constructor In SubClass constructor
要注意,php的子類的構造函數不會自動調用父類的構造函數,必須在程序中顯式地調用。使用parent關鍵字可以得到父類的引用。另外,由于php本身是弱類型的,所以“多態“的概念也不存在了,實際上,它永遠都是多態的。
接口
接口定義了一組方法,但不實現他們。其語法為:
interface IInterfaceName
{
//常量、函數定義
}類利用implements關鍵字來表面實現某個接口,這和Java是一致的。
復制代碼 代碼如下:
<?php
interface IAddable{
function Add($something);
}
class AddClass implements IAddable
{
private $data;
function AddClass($num){
$data=$num;
}
public function Add($something)
{
$data+=$something;
return $data;
}
}
$a=new AddClass (5);
echo $a instanceof IAddable;
echo $a->Add(10);
?>

其中 instanceof關鍵字是php5新增的,用來判斷一個對象是不是某個類的實例,或者它的類型是不撒實現了某個接口。

php技術PHP學習筆記之二,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 伊人大香线蕉精品在线播放 | 最新果冻传媒在线观看免费版 | 亚洲欧美一区二区三区四区 | 99热久久久无码国产精品性麻豆 | 亚洲日韩乱码人人爽人人澡人 | 一级大乳奶 | 亚洲色噜噜狠狠网站 | 日本阿v在线资源无码免费 日本阿v片在线播放免费 | 国产睡熟迷奷系列精品 | 无限资源好看片2019免费观看 | www在线小视频免费 www伊人网 | 国产色婷婷精品人妻蜜桃成熟时 | 美女内射少妇三区五区 | 狠狠色狠色综合曰曰 | 久久re这里视频只有精品首页 | 伦理片天堂eeuss影院2o12 | 少妇被阴内射XXXB少妇BB | 浓毛BWBWBWBWBW日本 | 亚洲精品久久99蜜芽尤物TV | 欧美14videosex性欧美成人 | xxx日本免费| 国产一卡2卡3卡4卡孕妇网站 | 久久亚洲精品无码A片大香大香 | 北岛玲手机在线观看视频观看 | 婷婷开心激情综合五月天 | 伦理片92伦理午夜 | 中文字幕一区在线观看视频 | SM调教贱屁股眼哭叫求饶H | 在线中文高清资源免费观看 | 久久视频在线视频观品15 | 川师 最美老师 | 国产精品亚洲高清一区二区 | 国产精品伊人 | 亚洲AV久久无码精品九号 | 99久久婷婷国产麻豆精品电影 | 欧美四虎精品二区免费 | 恋夜秀场支持安卓版全部视频国产 | 国产AV白丝爆浆在线播放 | 中文字幕不卡一区二区三区 | 中文在线中文资源 | RUN AWAY无删减全集动漫 |