成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁 ? 技術(shù)教程 ? PHP學(xué)習(xí)筆記之二 php入門知識
全站頭部文字 我要出現(xiàn)在這里
PHP學(xué)習(xí)筆記之二 php入門知識 723 2023-12-09   

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

<?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/>';
?>

輸出結(jié)果為:
3
Shanghai
Tianjin
Guangzhou
Beijing
Tokyo
Paris
2. 類和對象
PHP5開始對面向?qū)ο缶幊逃辛撕芎玫闹С帧HP中的類的概念和其他面向?qū)ο蟮恼Z言比如C#是十分相似的,它也是一個值和方法的聚合體,使用class關(guān)鍵字定義。例如:

<?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";
?>

上面是一個雖然沒有什么用但是語法結(jié)構(gòu)上較為完整的類。首先使用class關(guān)鍵字定義類的名字,內(nèi)部可以定義字段和方法。字段和方法的修飾詞可以是private,protected,public 和 final(僅方法有)。其含義和其它語言一致。不再贅述。不同的地方在于,PHP不支持函數(shù)的重載。另外,PHP5的構(gòu)造函數(shù)的定義是__construct,注意前綴是兩個下劃線。PHP4的構(gòu)造函數(shù)的定義和其它語言一致,是和類名一樣的函數(shù),PHP5也兼容這種寫法。PHP5還支持析構(gòu)函數(shù),名字是__destruct。在函數(shù)內(nèi)部,可以使用$this變量來獲得當(dāng)前對象的引用。 PHP也支持靜態(tài)函數(shù),同樣是使用static關(guān)鍵字修飾。示例中最后一個函數(shù)就靜態(tài)函數(shù)。靜態(tài)函數(shù)不能通過類的實例引用。
類的定義下面是使用類的代碼示例,PHP也是通過new關(guān)鍵字來實例化一個類。通過->運算符來引用對象的方法。注意其靜態(tài)類的引用方法是::,這是和C++一致的。
下面再簡單介紹下類的繼承。PHP中使用extends關(guān)鍵字來實現(xiàn)類的繼承,這是和Java一致的:

<?php
class BaseClass {
function __construct() {
print "In BaseClass constructorn";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "In SubClass constructorn";
}
}
$obj = new BaseClass();
$obj = new SubClass();
?>

輸出的結(jié)果是: In BaseClass constructor In BaseClass constructor In SubClass constructor
要注意,PHP的子類的構(gòu)造函數(shù)不會自動調(diào)用父類的構(gòu)造函數(shù),必須在程序中顯式地調(diào)用。使用parent關(guān)鍵字可以得到父類的引用。另外,由于PHP本身是弱類型的,所以“多態(tài)“的概念也不存在了,實際上,它永遠(yuǎn)都是多態(tài)的。
接口
接口定義了一組方法,但不實現(xiàn)他們。其語法為:
interface IInterfaceName
{
//常量、函數(shù)定義
}類利用implements關(guān)鍵字來表面實現(xiàn)某個接口,這和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關(guān)鍵字是PHP5新增的,用來判斷一個對象是不是某個類的實例,或者它的類型是不撒實現(xiàn)了某個接口。

主站蜘蛛池模板: 绝顶五秒前在线观看| 小镇姑娘高清电影| 郭亚菲| 天台电影| 南营洞| 电影《七三一》| 电影继父| 母亲とが话しています免费| 妈妈1| 六级词汇电子版| 免费观看淫www视频| 寡妇年| 在屋顶上流浪| 五年级上册写字表拼音| 用力快点| 五上语文第7课笔记| 金珠和陈诗雅主演的韩剧| 《人奶魔劫》电影在线播放| 山下大辉| 有氧运动有哪些项目| 娱乐金鱼眼| 牵牛花的生长变化记录| 金秀贤real| 明天属于我们双男主法剧在线观看| 广西电视台新闻频道| 那些花儿吉他谱原版| 小升初英语试卷可打印| 头文字d里演员表| 马文的战争电影完整视频观看| 嗯啊不要啊啊啊| 何时是读书天| 延边卫视节目表| 街头霸王 1994 尚格·云顿| 博朗耳温枪| 植田圭辅| 肮脏性感的人| 尹丽川| 地铁女孩| 少妇性按摩bbwzⅹxoo| 爱情秘密| 护校队申请书|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103