php数组 类和对象 接口使用办法
发布时间:2022-02-16 06:27:05 所属栏目:PHP教程 来源:互联网
导读:1. 数组 php的数组其实是一个关联数组,或者说是哈希表,php不需要预先声明数组的大小,可以用直接赋值的方式来创建数组,例如: //最传统,用数字做键,赋值 $state[0]=beijing; $state[1]=hebei; $state[2]=tianjin; //如果键是递增的数字,则可以省略 $city[]=
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) //开源代码Cuoxin.com 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++一致的. 接口:接口定义了一组方法,但不实现他们,其语法为: 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); ?> (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |