为公司实习生写的PHP学习提纲,根据自己的学习及项目开发经验总结了PHP语言最核心的知识点。可以作为PHP快速入门的教程。
 1 客户端脚本和服务端脚本
 客户端:VBscript(对IE依赖性很强,放弃)、Javascript
 服务端:ASP、PHP、Perl
 JSP(服务端,非脚本)
 Python(可用服务端,非脚本)
 2 学习一门语言的要点/顺序
 功能、特点、语法、变量、运算符、流程控制、函数、数据结构
 3 学习服务端语言的要点
 数据输入输出、数据库操作、session和cookie的使用
4 PHP的功能
支持与众多服务器软件(Apache,IIS ISAPI/FastCGI,Nginx等)结合进行数据处理
5 PHP的特点
跨平台、内置函数库非常丰富(写得少做得多)、语法简洁、参考资料非常多
6 PHP的语法
 <hp
 // 这是注释行,注释行以//开始
 phpinfo();  // 语句以;结束
 gt;
7 PHP的变量
 松散类型,自动声明,强制转换
 PHP变量以$开头(从钱开始,很实惠的一种语言)
 <hp
 $txt = “Hello World!”;  // 字符串用””包围,转义”,
 $number = 16;
 gt;
 松散类型语言:VB,VBscript,ASP,PHP,Python
 强类型语言:C(C++),JSP
8 PHP的运算符
算术运算:+,-,*,/,%(取余),++(自增1),–(自减1)
赋值运算:=,+=,-=,*=,/=,.=,%=
比较运算符:==,===,!=,>,<,>=,<=
逻辑运算符:&&,||,!
其它运算符:.(字符串连接)
 <hp
 $i=10;
 $i+=1;
echo $i; // echo 数据输出函数,还可以用print
echo ++$i; // br> echo $i++; // br> gt;
*两等 与三等
 == 只比较值是否相等,会将两侧值进行类型转换
 === 比较值和类型是否相同,不会进行类型转换,类型和值都相同才为真
例如:
 $a=”2″;    // 字串型2
 $b=2;    // 数值型2
 $a==$b, 是对的,都是2
 $a===$b,是不对的,因为$a是字符型$b是数值型,值虽一样,但类型不一样
9 PHP流程控制
顺序语句
分支语句:if else,Switch
 // if else语句
 if (condition)
   code to be executed if condition is true;
 elseif (condition)
   code to be executed if condition is true;
 else
   code to be executed if condition is false; 
 // switch语句
 switch (expression)
 {
 case label1:
   code to be executed if expression = label1;
   break;  
 case label2:
   code to be executed if expression = label2;
   break;
 default:
   code to be executed
   if expression is different 
   from both label1 and label2;
 }
循环语句:while,for,foreach
 // while循环
 while (condition)
 code to be executed;
 // for循环
 for (initialization; condition; increment)
 {
   code to be executed;
 }
 // foreach循环,遍历数组
 foreach (array as value)
 {
     code to be executed;
 }
 <hp
 // foreach循环的示例
$arr=array(“one”, “two”, “three”);
 foreach ($arr as $value)
 {
   echo “Value: ” . $value . “<br />”;
 }
 gt;
*结束PHP程序的执行:
 exit($str); // 结束PHP执行并输出$str
 die();    // 仅结束PHP执行
10 PHP函数
 内置函数:
 http://php.chinaunix.net/manual/en/
 (1)数据输出:echo,print,print_r(输出数组)
 (2)字符串操作:
 // 返回$string的长度
 int strlen ( string $string )
 // 删除$str两端的空格或其它字符
 string trim ( string $str [, string $charlist ] )
 <hp
 $str=” xiao ping ni hao! “;
 echo trim($str);
 echo “<br/>”;
 echo trim($str,” x!”)
 gt;
// 字符串转大小写
 string strtolower ( string $str )
 string strtoupper ( string $string )
// 寻找字串
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
 返回值:返回找到的子串的位置,没有找到返回false
 注意:
 如果子串$needle在$haystack串首出现将返回0
 因此判断是否找到字串应该用===而不能用==
 <hp
 $str=”redicecn.com”;
 // 下面是错误的判断
 if(strpos($str,”redice”)==false)
 {
    echo “没有找到子串!”;
 }
 else
 {
    echo “找到了子串!”;
 }
 gt;
// 字符串截取
string substr ( string $string , int $start [, int $length ] )
// 字符串替换
 string str_replace ( mixed $search , mixed $replace , mixed $subject)
 string str_ireplace ( mixed $search , mixed $replace, mixed $subject) // 不区分大小写
(3)时间日期:
 // time() 函数返回当前时间的 Unix 时间戳
 time(void)
 // date() 函数格式化一个本地时间/日期
 // 默认是格林威治时区
 date(format,timestamp)
 <hp
 // 设置为东8区
 date_default_timezone_set(‘Etc/GMT-8’);
 echo date(“Y-m-d H:i:s”,time());
 gt;
自定义函数:
 <hp
 $sitename=”电子工程 区”;
 function welcom($user)
 {
    global $sitename; // 引用全局变量
    // 返回值
    return $user.”,欢迎您的光临”.$sitename.”!”; 
 }
 // 函数调用
 echo welcom(“redice”);
 gt;
11 PHP的数据结构
数组
// 数值数组的定义
 (1) 自动分配key
 $names = array(“芙蓉姐姐”,”凤姐”,”犀利哥”);
 (2) 手动分配key
 $names[0]=”芙蓉姐姐”;
 $names[1]=”凤姐”;
 $names[2]=”犀利哥”;
// 关联数组的定义
$ages = array(“芙蓉姐姐”=>32, “凤姐”=>29, “犀利哥”=>42);
也可以这样
 $ages[“芙蓉姐姐”] = 32;
 $ages[“凤姐”] = 29;
 $ages[“犀利哥”] = 42;
// 多维数组
 $students = array
 (
   “0911120688”=>array
   (
   “姓名”=>”齐鹏”,
   “年龄”=>24,
   “性别”=>”男”
   ),
   “0911120699”=>array
   (
   “姓名”=>”宋玉伟”,
   “年龄”=>22,
   “性别”=>”女”
   ),
   “0911120670”=>array
   (
   “姓名”=>”陈素芳”,
   “年龄”=>22,
   “性别”=>”女”
   )
 );
12 PHP输入(获取客户端输入)
 (1)$_GET 变量
 $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。
 (2)$_POST 变量
 $_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
 (3)$_REQUEST 变量
 PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。
13 SESSION和COOKIE的使用
(1)SESSION
保存在服务端,服务器通过COOKIE中的SESSIONID判断,常用来进行身份验证。
 使用SESSION前需要用session_start()启动会话,
 由于session_start()需要修改HTTP应答 文的COOKIE头(存SESSIONID),
 因此session_start()必须在HTTP应答正文输出之前被调用。
 // 创建session
 <hp
 session_start();
 $_SESSION[‘user’]=”redice”;
 gt;
 // 读取session
 <hp
 session_start();
 echo $_SESSION[‘user’];
 gt;
 删除SESSION
 <hp
 unset($_SESSION[‘user’]);
 gt;
 或
 <hp
 session_destroy(); // 将删除所有的session
 gt;
(2)COOKIE
 保存在客户端,随请求 文一起被发送到服务端,
 常用来存储用户自定义设置、浏览记录等与安全无关的数据。
*COOKIE在客户端存储,可被用户修改,因此不能存储敏感数据。
 // 创建cookie
 setcookie(name, value, expire);
setcookie()也需要修改HTTP应答头,因此需要在输出任何正文之前被调用
 <hp 
 setcookie(“user”, “redice”, time()+3600);
 gt;
 // 读取cookie
 <hp 
 echo $_COOKIE[“user”];
 gt;
 // 删除cookie
 <hp
 // 设置立即过期,客户端(浏览器)会自动删除
 setcookie(“user”, “”, time()-3600);
 gt;
14 数据库操作
操作流程:
 连接数据库->选择库->设置采用的字符集
 ->操作数据(查询,更新,删除,插入)->关闭数据库
 <hp
 $conn=0;
 $conn = mysql_connect(“localhost”,”root”,”redice2009″);
 if (!$conn)
 {
   die(“不能打开数据库连接,错误: ” . mysql_error());
 }
 // 选择数据库
 mysql_select_db(“thymall”, $conn);
 // 设置mysql数据库输出数据的字符集
 mysql_query(“set names ‘gbk'”);
$sql=”select * from thym_goods LIMIT 5″;
 // 执行查询
 $result=mysql_query($sql,$conn);
 // 遍历查询结果
 while($result && $row=mysql_fetch_array($result))
 {
 }
 // 关闭数据库
 mysql_close($conn);
 gt;
15 其它
良好的程序风格:缩进,注释
开发工具的选取原则:代码关键字高亮,自动完成
File: Click to Download 文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成表31559 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!