时间:2021-07-01 10:21:17 帮助过:17人阅读
输出结果为:
- <br><!--?php <BR-->$state[0]="Beijing"; <br>$state[1]="Hebei"; <br>$state[2]="Tianjin"; <br>$city[]="Shanghai"; <br>$city[]="Tianjin"; <br>$city[]="Guangzhou"; <br>$capital["China"]="Beijing"; <br>$capital["Japan"]="Tokyo"; <br>echo count($city),'<br>'; <br>array_push($capital,"Paris"); <br>$newarray=array_merge($city,$capital); <br>foreach($newarray as $elem) <br>echo $elem.'<br>'; <br>?> <br> <br>
- <br><!--?php <BR-->class AuthUser { <br>protected $userName; <br>protected $password; <br>public function __construct($userName,$password) { <br>$this->userName=$userName; <br>$this->password=$password; <br>} <br>public function GetUserName() { <br>return $userName; <br>} <br>public function ChangePassword($old,$new) { <br>if($this->password==$old) { <br>$this->password=$new; <br>return true; <br>}else <br>return false; <br>} <br>public function Login($password) { <br>return $this->password==$password; <br>} <br>public static function CreateUser($userName,$password) { <br>$user=new AuthUser($userName,$password); <br>return $user; <br>} <br>} <br>$user=AuthUser::CreateUser("Admin","123"); <br>echo $user->GetUserName(); <br>if($user->ChangePassword('abc', 'new')) <br>echo 'ChangePassword success'; <br>else <br>echo 'Change Password fail'; <br>$user->ChangePassword("123", "321"); <br>if($user->Login("321")) <br>echo "Login"; <br>else <br>echo "Login fail"; <br>?> <br> <br>上面是一个虽然没有什么用但是语法结构上较为完整的类。首先使用class关键字定义类的名字,内部可以定义字段和方法。字段和方法的修饰词可以是private,protected,public 和 final(仅方法有)。其含义和其它语言一致。不再赘述。不同的地方在于,PHP不支持函数的重载。另外,PHP5的构造函数的定义是__construct,注意前缀是两个下划线。PHP4的构造函数的定义和其它语言一致,是和类名一样的函数,PHP5也兼容这种写法。PHP5还支持析构函数,名字是__destruct。在函数内部,可以使用$this变量来获得当前对象的引用。 PHP也支持静态函数,同样是使用static关键字修饰。示例中最后一个函数就静态函数。静态函数不能通过类的实例引用。 <br>类的定义下面是使用类的代码示例,PHP也是通过new关键字来实例化一个类。通过->运算符来引用对象的方法。注意其静态类的引用方法是::,这是和C++一致的。 <br>下面再简单介绍下类的继承。PHP中使用extends关键字来实现类的继承,这是和Java一致的: <br><span style="CURSOR: pointer" onclick="doCopy('code9969')"><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br><!--?php <BR-->class BaseClass { <br>function __construct() { <br>print "In BaseClass constructor\n"; <br>} <br>} <br>class SubClass extends BaseClass { <br>function __construct() { <br>parent::__construct(); <br>print "In SubClass constructor\n"; <br>} <br>} <br>$obj = new BaseClass(); <br>$obj = new SubClass(); <br>?> <br> <br></li></ol></pre>输出的结果是: In BaseClass constructor In BaseClass constructor In SubClass constructor <br>要注意,PHP的子类的构造函数不会自动调用父类的构造函数,必须在程序中显式地调用。使用parent关键字可以得到父类的引用。另外,由于PHP本身是弱类型的,所以“多态“的概念也不存在了,实际上,它永远都是多态的。 <br>接口 <br>接口定义了一组方法,但不实现他们。其语法为: <br>interface IInterfaceName <br>{ <br>//常量、函数定义 <br>}类利用implements关键字来表面实现某个接口,这和Java是一致的。 <br><span style="CURSOR: pointer" onclick="doCopy('code49489')"><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br><!--?php <BR-->interface IAddable{ <br>function Add($something); <br>} <br>class AddClass implements IAddable <br>{ <br>private $data; <br>function AddClass($num){ <br>$data=$num; <br>} <br>public function Add($something) <br>{ <br>$data+=$something; <br>return $data; <br>} <br>} <br>$a=new AddClass (5); <br>echo $a instanceof IAddable; <br>echo $a->Add(10); <br>?> <br> <br>其中 instanceof关键字是PHP5新增的,用来判断一个对象是不是某个类的实例,或者它的类型是不撒实现了某个接口。</li><li><p></p></li><li><p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/322850.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/322850.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">PHP学习笔记之二 1. 数组 PHP的数组其实是一个关联数组,或者说是哈希表。PHP不需要预先声明数组的大小,可以用直接赋值的方式来创建数组...</span></p></li><li> </li></ol></pre>