PHP for FE
  拔赤 bachi@taobao.com
http://www.uedagazine.com
        2010-09-01
• 快捷入门
• 面向对象
• 更多资料
• 快捷入门
• 面向对象
• 更多资料
数据类型
数据类型
•   Integer 整型
•   Double 浮点数
•   String 字符串
•   Array 数组
•   Object 对象
•   Class 类
常用函数

is_string   //判断是否是数字
is_array    //判断是否是数组
is_int      //判断是否是整型
is_double   //判断是否为双精度类型
is_object   //判断是否为对象
isset       //判断变量是否存在
settype     //设置变量类型
gettype     //得到变量类型
常用符号
常用符号

$    //变量前缀
&    //指针前缀
@    //不显示错误信息
->   //对象的方法或属性
=>   //数组的元素值
?:   //条件判断
__   //魔术函数前缀
函数使用外部变量
使用外部变量

$a = 1;
function foo(){
       global $a; //使用a之前必须要声明
}
foo();
打印变量
打印变量

$a='hello';
echo '$a world';   //输出$a world
echo "$a world";   //输出 hello world
echo '$a'."$a";    //输出 $ahello
变量的变量
变量的变量

$a='hello';
$$a='world';
echo "$a$world";   //输出 helloworld
echo "$a${$a}";    //输出 helloworld
变量函数
变量函数

//传入一个函数的引用
function fun( $callback){
     $callback();
}
指针
指针
$a = 1;
$b = $a;    //$b的值拷贝自$a的值
$b = 2;     //改变$b的值
echo $b;    //输出$b的值:2
echo $a;    //输出$a的值:1

$a = 1;
$b = &$a;   //$b指向$a所指向的变量
$b = 2;     //改变$b所指向的变量的值
echo $b;    //输出$b所指向的变量值:2
echo $a;    //输出$a所指向的变量值:2
指针 续
function foo(&$a){
     $a.="extra_str"; //操作的是a的指针
}
foo($str);


function foo($a){
     $a.="extra_str";
}
foo(&$str);     //操作的str是指针
函数默认值
函数默认值


function foo( $type='js' ){
       echo $type;
}
foo();      //输出js
include和require
include和require
//遇到异常则报警告,程序继续执行
include('not_exist_file.php');




//遇到异常则报错,程序中断执行
require('not_exist_file.php');
include和require 续
for($i=0;$i<3;$i++){
      include('filename.php');
}
//引入了三次,require亦然

for($i=0;$i<3;$i++){
      include_once('filename.php');
}
//引入了一次,require_once亦然
for,foreach,each
for,foreach,each
//输出 1,2,3,4,5
$a = array(1,2,3,4,5);
for($i=0;$i< count($a);$i++){
      echo $a[$i];
}

//输出 1,2,3,4,5
$a = array(1, 2, 3, 4 , 5);
foreach ($a as $v) {
   echo $v;
}
for,foreach,each 续
//输出 0~1,1~2,2~3,3~4,4~5
$a = array(1, 2, 3, 4, 5);
foreach ($a as $k => $v) {
   echo $k.'~'.$v.',';
}
for,foreach,each 续
$a = array("first", "second");
/* 输出:Array (
   [1] => first
   [value] => first
   [0] => 0
   [key] => 0
) */
print_r( each($a));
/* 输出:Array (
   [1] => second
   [value] => second
   [0] => 1
   [key] => 1
) */
print_r( each($a));
• 快捷入门
• 面向对象
• 更多资料
类
类
class my_class
{
   static $status = 'ok'; //静态成员
   private $email = 'a@b.com'; //私有成员
   public $username = 'jayli'; //共有成员(默认)
   public function getName(){ //共有方法
      return $this->username;
   }
   private function getStatus(){ //私有方法
      return $this->status;
   }
}
调用类静态方法
class A{
      function foo(){
           //your code…
      }
}
A::foo();
类构造&析构
class A{
      function __construct() {
           //构造函数
      }
      function __destruct() {
           //析构函数
      }
}
对象拷贝
$a = new Class_A();
$b = clone $a;        //$b 克隆自 $a
数组
数组
$a = array();   //定义一个空数组
$a[] = 'abc';   //压栈,$a[0]='abc'
• 快捷入门
• 面向对象
• 更多资料
HTTP函数
http函数
//header:发送http头
header("Location: http://www.php.net");
header("Expires: Mon, 26 Jul 2010 GMT");
header("Status: 404 Not Found");

• urlencode         //url编码
• urldecode         //url解码
表单处理
表单处理
•   $_POST      //POST的表单数据
•   $_GET       //GET的表单数据
•   $_SERVER    //服务器信息
•   $_REQUEST   //请求参数数组
JSON
JSON
• json_encode   //转换成json格式
• json_decode   //解码json格式
字符串函数
字符串函数
•   explode //切开字符串(String.split())
•   implode //将数组变成字符串(Array.join())
•   join //同上
•   print_r //输出数组数据
•   str_replace //字符串替换
•   preg_replace //批量字符串替换
•   substr //取出子字符串
更多:
• http://cn.php.net/
• http://www.w3school.com.cn/php/inde
  x.asp
Q&A

Php for fe