加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php数组 类和对象 接口使用技巧

发布时间:2022-07-05 16:11:00 所属栏目:PHP教程 来源:互联网
导读:1. 数组 php的数组其实是一个关联数组,或者说是哈希表,php不需要预先声明数组的大小,可以用直接赋值的方式来创建数组,例如: //最传统,用数字做键,赋值 $state[0]=beijing; $state[1]=hebei; $state[2]=tianjin; //如果键是递增的数字,则可以省略 $p=array(1
  1. 数组
 
  php的数组其实是一个关联数组,或者说是哈希表,php不需要预先声明数组的大小,可以用直接赋值的方式来创建数组,例如:
 
  //最传统,用数字做键,赋值
  $state[0]="beijing";  
  $state[1]="hebei";  
  $state[2]="tianjin";
  //如果键是递增的数字,则可以省略
 
  $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)
          //开源代码phpfensi.com
              echo $elem.’<br/>’;
      
  ?>
  //输出结果为:
  //3  
  //shanghai  
  //tianjin  
  //guangzhou  
  //beijing  
  //tokyo  
  //paris
  2. 类和对象
 
  php5开始对面向对象编程有了很好的支持,php中的类的概念和其他面向对象的语言比如c#是十分相似的,它也是一个值和方法的聚合体,使用class关键字定义,例如:
 
  <?php
                     $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";
 
  类的定义下面是使用类的代码示例,php也是通过new关键字来实例化一个类,通过->运算符来引用对象的方法,注意其静态类的引用方法是::,这是和c++一致的.
 
  下面再简单介绍下类的继承,php中使用extends关键字来实现类的继承,这是和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();
  ?>
  //输出的结果是: in baseclass constructor in baseclass constructor in subclass constructor
  要注意,php的子类的构造函数不会自动调用父类的构造函数,必须在程序中显式地调用,使用parent关键字可以得到父类的引用,另外,由于php本身是弱类型的,所以“多态“的概念也不存在了,实际上,它永远都是多态的.
 
  <?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);
  ?> 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读