PHP基础-2

数组:在php中的作用很重要,是学好php的基础。感觉php的数组就是个hashtable,只是有种特殊情况,那就是key是数字的情况。
 索引数组:

$myArray=array(0=>"zero",1=>"one",2=>"two"); 
$myArray=array("zero","one","two");//与上面等价 
$myArray[0]="zero"; 
$myArray[1]="one"; $myArray[2]="two";//与上面等价


  关联数组:
  
  $myArray2=array("tom"=>"C++","paul"=>"java","lily"=>"php");

  一维数组:
  上面两个例子都是一维数组
 二维数组:
 
  $myArray3=array(
    "tom"=>array("c++","java"),
    "paul"=>array("java","php"),
    "lily"=>array("php","python")
   )
  多维数组:
  和二维类似,就是数组里面套数组
 添加数组元素:
  $myArray=array();
   $myArray[]="a";
   $myArray[]="b";
  更新数组元素:
  $myArray[0]="A";

  删除数组元素:
  unset($myArray[0]);
  遍历数组:
  foreach($myArray as $Key=>$value){}
   for($i=0;i<=count($myArray);$i++){}//数组的大小用count()函数
 list() each() reset()函数:
  reset($myArray);//遍历指针退回到开始位置0;
   while(list($k,$v)=each($myArray)){}//each遍历数组的各个元素,然后把key和value放入k和v中

  数组相关的操作函数,从函数手册上查找


类和对象:
 声明类:

  class myClass{
    public $id;
    protected $name;
    private $age; 
    
    static $staticVar=0;//静态类成员,与java的一样,不属于某个特定对象,只属于类

   const TIME=31;//类常量,使用和静态成员一样

   function _construct(){}//构造函数
   
    function getName(){
     self::staticVar;
     return $this->name;//this关键字
   }

   static function addOne(){//静态类方法,使用起来和静态类成员一样
    
    }

   function __destruct(){}//析构函数,不能有任何参数
  } 
   
   $c=new myClass();
   $c->id=1;//调用属性、方法用"->"
   myClass::staticVar;//对类静态属性的调用方法
  类的复制:
  通过clone关键字来复制对象:$copyOfObject=clone $object;
  对象的__clone方法:__clone方法存在于类(对象)中,当使用clone来复制对象时,__clone如果存在就调用,不存在就使用默认
   class MyClone{
     public function __clone(){
      echo 'clone objects';
     }
    }

   $objectA=new MyClone();
    $objectB=$objectA;//引用
   $objectC=clone $objectA;//调用__clone()函数
  类的继承:
   使用extends关键字继承
   调用父类中的成员属性和方法用“parent::”
   监测一个对象是否属于一个类用:“instanceof”
 抽象类和接口:
   抽象类和接口都是不能被实例化的特殊类,实现抽象类依然使用extends
    abstract class ABClass{
      abstract function fun1($avg1,$avg2){}//抽象类至少有一个abstract的方法
    }
    接口是一组成员方法声明的集合,其包含类的常量和方法的声明。实现接口使用implements
    interface IShop{
      public function buy($gid);
      public function sell($gid);
     }

    抽象类与接口的区别:
    extends和implements的区别
    接口没有数据成员,抽象类有
    接口没有构造函数,抽象类有
    接口的方法都是public,抽象类可以用private,protected
    一个类可以实现多个接口,但却只能继承一个抽象类
    接口中不能有成员方法的实现代码,抽象类可以
 PHP5里的特殊方法:
   PHP5中双下滑线开头的方法叫魔法方法,用来实现特定的功能。
    __toString()、__autoLoad()、__get()、__set()、__call()

错误与异常处理:
 PHP中的错误级别:
  E_ERROR
  E_WARNING
  E_PARSE
  E_STRICT
  E_NOTICE
  E_CORE_ERROR
  E_CORE_WARNING
  E_COMPILE_ERROR
  E_COMPILE_WARNING
  E_USER_NOTICE
  E_USER_WARNIG
  E_ALL
 错误处理函数:

trigger_error(string $error_msg [,int $error_type])
 异常:
  关键字:try catch throw,异常类Exception
  try{

  }catch(Exception $e){

  }

 

你可能感兴趣的:(PHP,基础)