1、在linux下使用php的方式:
   vi test
   编辑test的内容
   <?php
       echo "hello world";
   ?>
   保存后运行 php test
   即得到hello world字符串。这种形式使用只合适学习php的语法,php在网络方面的功能就发挥不出来了。

2、php和javascript一样是弱类型语言。其赋值形式为
   $money = 1000.89;
   php支持Integer,String,Float,Boolean,Array和Object.
3、php获取表单数据的方式:
   $tireqty
   $_POST['tireqty']
   $HTTP_POST_VARS['tireqty']
4、可变变量。工作原理就是用一个变量的值作为另一个变量的名称,如:
   $varname = 'tireqty';
   $$varname = 5; (此时相当于给tireqty变量赋值5)
5、声明常量:
   define('TIREQTY', 10);建议使用大写字母
6、变量的作用域:
  
7、引用
   赋值操作时,先产生一个原变量的一个副本,然后再将它保存在内存的其他地方
   $a = 5;$b = $a;$a = 7;
   经过这样操作后,$b的值依然为7不会发生改变。
   如果使用引用操作符&
   $b = &$a; $a = 7;
   那么$b也就同时等于7。因为$a和$b都指向了相同的内存地址。
8、错误抑制操作符
   错误抑制操作符@可以在任何表达式前面使用,即任何有值的或者可以计算出值的表达式之前
   如:$a = @(57/0);
   如果没有@操作符,这一行代码将产生一个除0警告,使用这个操作符,这个警告就会被抑制住。

9、执行操作符
   执行操作符是一对操作符,它是一对反向单引号(``)。php将试着将反向单引号之间的命令当做
   服务器端的命令来执行。表达式的值就是命令的执行结果。如:
   $out = `ls -al`;
   echo $out;

10、结束一个循环或者程序
    支持break、continue和exit,exit会跳出整个脚本程序。
11、php对文件的操作和c语言中的文件操作是一样的。
12、php中对数组是可以随意增长的,这点和javascript一样。
    arry[i] = value的方式就可以将数组的size加1
   初始化方式1: $products = array("Tires","Oil","Spark");
             2:products[0]="Tires",products[1]="Oil",products[2]="Spark";
13、数组的循环
   可以使用for循环,也可以使用foreach
   foreach($products as $current)
     echo $current.' ';
   foreach是专门为数组而设计的。
14、相关数组(相当于hashmap)
   $prices = array('Tiers'=>100, 'Oil'=>10, 'Spark'=>4);以产品作为关键字,以价格作为
   值的相关数组。
   读取方法:
   foreach($prices as $key=>$value)
     echo $key.'=>'.$value;
  
   while($element = each($prices))
   {
     echo $element['key'];
     echo '=>';
     echo $element['value'];
    }

   while(list($product,$price) = each($prices))
     echo "$product=>$price";
15、数组排序
   sort、asort和ksort。asort是按照相关数组的value进行排序,而ksort是按照key进行排序。
   以上是按照升序进行排序的,如果需要按照降序进行排序那么为rsort,arsort和krsort。也可以
   自定义排序,如多维数组,使用usort($products,compair),compair是一个函数,需要用户自定义。
  
16、file函数返回一个数组,文件中的每一行是数组的一个元素
    $orders = file("orders.txt");
17、explode函数用于处理字符串的分隔符
   $line = explode("\t", $orders[i]);返回的line就是一个数组,这个功能类似于Java的
   StringTokenizer类的功能。
18、统计数组元素个数:count、sizeof和array_count_values,其中最后一个是返回一个相关函数
   key为数组元素,value为这个数组元素出现的次数。
19、require和include函数,用于加载文件,如果此文件是.php文件则执行,如果不是则当成
   普通文件加载进来。如果里面包含<?php command ?>也会执行。
   这两个函数的区别只是如果加载失败require会报错,而include只是会警告
20、php的错误提示:通常,php给出的错误信息是非常有用的。它可以告诉你错误出现在哪个文件
   中,错误在文件的哪一行等。
21、如果希望值发生改变,就采用引用传递参数
   function increment(&$value, $amount =1)
   {
      $value = $value + $amount;
   }

   使用:
   $a = 10;
   echo $a.'<br />';
   increment($a);
   echo $a.'<br />';
   当然如果不采用引用传递还希望$a发生改变可以将其变成全局变量。
22、php5引入了全新的、功能更为强大的面向对象实现,它使得类和对象更用用。
23、class的定义
    class classname
    {
         //方法和属性的引用采用“->”方式
         $attribute;
         function _construct($param)
         {
            $this->attribute = $param; //注意和java不同,这里this前面是有一个$符的
            echo "Hello";
          }
          function _destruct()  //可选
          {
           }
      }

24、控制访问符:public是默认属性,这里与Java不一样。
25、parent关键字允许调用父类操作的方法,如要从类B中调用父类A的操作A::operation,可以
   使用parent::operation()。但是如果operation中的操作属性被重载了,还是会使用B中的属性值
26、final关键字用于类和函数,同Java一样,防止继承和重载的。php同样是只能继承一个父类,但是
   可以实现多个接口。继承的关键词是extends,实现的关键字是implements.
27、php4之前的对象是按照值传递的,而php5是按照引用传递的,这点和Java一样了。
28、使用Per-class常量
   class Math {
    const pi = 3.14159;
   }
   使用: echo Math::pi;
29、静态方法:使用static关键字,同Java。调用时用Math::operation();
30、php5提供instanceof关键字
    ($b instanceof B) 返回true
    ($b instanceof A) 返回true
31、php5引入clone关键字,允许复制一个已有的对象
   $c = clone $b; 同Java的clone意义,但是用法不同。
   clone后c具有同b一样的属性,如果要改变默认的clone方式,需要在类中写一个_clone方法

32、php5提供abstract关键字,意义同java。
33、php5习惯利用_call实现方法的重载(注意重载是指方法名相同而参数不同,overload,而override
    是子类覆盖父类的方法)。因为php使用灵活的类型和(容易实现的)可选的函数参数
    如:
    public function _call($method,$p)
    {
       if($method == 'display')
         if(is_object($p[0]))
            $this->displayobject($p[0]);
         elseif(is_array($p[0]))
            $this->displayArray($p[0]);
         else
            $this->displayScalar($p[0]);
     }
     _call()方法必须带有两个参数,一个包含被调用的方法名称,第二个参数包含传递给
     该方法的参数数组。使用:
     $ov = new overload;
     $ov->display(array(1,2,3)); //调用displayArray函数
     $ov->display('cat');   //调用displayScalar函数
34、php5有_toString(),同Java,如果实现则可以自定义打印类实例对象。php5提供了Reflection
   API。异常处理是php5中的一个重要特性。