数组:在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;//对类静态属性的调用方法类的复制:
class MyClone{ public function __clone(){ echo 'clone objects'; } } $objectA=new MyClone(); $objectB=$objectA;//引用 $objectC=clone $objectA;//调用__clone()函数类的继承:
abstract class ABClass{ abstract function fun1($avg1,$avg2){}//抽象类至少有一个abstract的方法 }接口是一组成员方法声明的集合,其包含类的常量和方法的声明。实现接口使用implements
interface IShop{ public function buy($gid); public function sell($gid); }
错误与异常处理:
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(Exception $e){ }