PHP菜鸟必备PHP基础知识part1.docx_第1页
PHP菜鸟必备PHP基础知识part1.docx_第2页
PHP菜鸟必备PHP基础知识part1.docx_第3页
PHP菜鸟必备PHP基础知识part1.docx_第4页
PHP菜鸟必备PHP基础知识part1.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP菜鸟必备PHP基础知识part1虽然说新手没有PHP基础也可以学习,不过相对来说懂一点PHP的基础知识你的学习效率会加倍,网上有很多视频像:html,css,javascript等等,你可以多看看,这些都是学习PHP需要懂的东西,你只需要了解没必要深究,那些语言一般来说又可作为一门单独语言来学习。先介绍一些PHP的基本语法以及专业术语 1. PHP 的脚本块以 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用 来开始和结束脚本块。 不过,为了达到最好的兼容性,我们推荐您使用标准形式 (?php),而不是简写形式。 指该页面的脚本语言是PHP 2. PHP 中的变量 php中的变量是弱类型的,使用前不能定义类型。 变量的类型通常不是由程序决定,而是在程序运行的上下文中决定的,也就是根据变量所赋值的类型来决定变量的类型不能给变量前加类型,否则会出错 数字,字母,下划线组成,数字不做开头 变量用于存储值,比如数字、文本字符串或数组。 一旦设置了某个变量,我们就可以在脚本中重复地使用它。 PHP 中的所有变量都是以 $ 符号开始的。 PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,变量将是无效的。 3. PHP 中的注释 在 PHP 中,我们使用 / 来编写单行注释,或者使用来编写大的注释块。4. 有两种通过 PHP 来输出文本的基础指令:echo 和 print(print_r:打印复杂类型)。5. 命名原则 基本上的命名限制 -1. 变量名称: -1. 必须以大小写字母,或是_ 开头 -2. 可以包含数字 -3. 大小写有区别 -4. 全部小写,利用_ 分开 -2. 函数命名 -1. 和变量规范基本相同,但不能和现存系统的函数同名, function_exists(fun_name) 返回一个boolean型数据,判断该函数是否存在 -2. 驼峰标识 -3. 常数: 全部大写 : define(CONSTANT_NAME, Hello) ; echo CONSTANT_NAME ;/这后还可以对此常量赋值,但失效 -1. 常量只能包含标量数据 -2. 只能在声明的时候赋值,并不能在运行时改变 defined() ; 6. 数据类型 -1. 四种标量类型: 整型: 十进制,八进制,十六进制 浮点型:1.23,科学计数法 字符串型: abc, abc,/没有字符类型 单引号和双引号有什么不同:在双引号中还可以执行变量 布尔型:$a=false / true ; 其他类型对于布尔型的转换: 整型:0:false , 浮点型: 0.0(没有一个比0的数据):false 字符串: 或0: false 前加 , 屏蔽所有错误显示 数组: $a=Array(); :false -没有成员的数组代表false 资源类型:代表真true null :代表false -2. 两种复合类型: 数组 对象 -3. 两种特殊类型: 资源:是一种特殊的类型,是专门的函数建立和使用的,如用fopen()数打开一个文件,连接数据库,返回的就是一个资源的类型,必须由程序员分配和释放,但如果程序员忘记释放,垃圾回收机制会启动,但尽量应手动回收 null 7. 数据类型的转换:三种方式 -1. 自动转换: $a = 100abc ; $b = 300def ; $c = $a + $b ; /400, 加号在php中没有字符串连接作用,就是用于数字相加 - $a = 100abc ; $b = (int)$b ; var_dump($b) ; /300 注意:100ab12c45转换为整型时,返回 100,只转换字符串前面的数字型的数据 a100abc 转换为整型时,返回0 100.123abc - 整型为100, 浮点型为:100.123 但如果:100.123e5abc :浮点型为:10012300, 即把紧挨着的e看作是科学计数法了 -2. 强制转换: 转换为整型:(int), (Integer):此为全称 转换为浮点型:(bool), (boolean) 转换为布尔型:(float), (double), (real) 转换为字符串型:(String) 转换为数组型:(array) 转换为对象型:(Object) $a = 100abc ; $b = (.)$a ; 以上是两个变量,也就是原的类型不变,而重新生成一个新的类型的变量 -3. 利用函数进行数据类型转变: $a = 100abc ; setType($a, integer) ; var_dump($a) ; 他是把原来的类型进行改变, 其他转换函数: $a = 100abc ; $b = intval($a) ; $c = floatval($b) ; $d = strval($b) ; 对于浮点数向整型转换时,可能出现数据溢出,结果会不确定 8. 获取一个数据的类型的两个函数: $a = 100 ; echo getType($a) ; var_dump($a) ; 9. 字符串处理 -1. 并置运算符 . 并置运算符 (.) 用于把两个字符串值连接起来。 -2. strlen() 函数: 计算字符串的长度 echo strlen(Hello world!); strpos() 函数 : 在字符串内检索一段字符串或一个字符, 如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回 FALSE。 echo strpos(Hello world!,world); /6, 字符串是从0开始 str_replace() 函数:替换函数 echo str_replace(a, b, abc) ; /out:bbc 常用于在文本信息存储时,一些特殊的字符由普通文本替换成html格式的,如:n-, -  htmlspecialchars() 函数: 防止文本中有html标记的字符,这样在前端浏览器解析时,就会解析成html标记代码,从而出现错误 -3. 单引号和双引号都可以 区别: $var = abced ; echo $var ; /$var echo $var ; /abcde echo $(var)fg ; /abcdefg 这样加个括号,就能明确那一个是变量 10. 常量常量是一个简单值的标识符(名字)。常量默认为大小写敏感。按照惯例常量标识符总是大写的。常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。常量的定义:可以用 define( ) 函数来定义常量。一个常量一旦被定义,就不能再改变或者取消定义。常量只能包含标量数据(boolean,integer,float 和 string)。 -1. 自定义常量 -2. PHP一些常见的系统常量 _FILE_ PHP文件名,假如是引用文件,则显示引用文件名 _LINE_ PHP文件的行数 PHP_VERSION 显示PHP版本 PHP_OS 显示服务器的操作系统版本 PUE FALSE 表示真假的常量 E_ERROR 指明了代码中最近的错误处 E_WARNING 指明了代码中最近的警告处 E_PARSE 分析代码何处有着潜在的问题 E_NOTICE 为发生不寻常但不一定是错误处 -3. 检查常量是否存在 defined()函数 isset()函数 检查变量是否存在 11. PHP的外部变量 PHP的特点之一是可以用简单的方式处理表单数据,获取环境变量。在PHP中,这些外部数据或变量保存在一种特殊的全局数组中。 表单数据 $_POST“name”; $_GET“name”; $_REQUEST“name”; php.ini 中,register_globals = on /可以用变量名前加$进行数据取得 12. 环境变量 PHP中使用$_ENV和$_SERVER获取系统的环境变量。这些环境变量包含了WEB服务器的一些配置信息,以及浏览器的一些状态信息,使用函数phpinfo()可以返回更多的环境信息,其中包含了$_ENV和$_SERVER的内容。 程序可以根据不同的环境,如浏览器的类型等,设置不同的输出效果。 10. PHP 运算符 算术运算符:+, -, *, /, %, +, - 字符串运算符:. 赋值运算符:=, +=, -=, *=, /=, %=, .= 位运算符:&, |, , 逻辑运算符:&(And), |(Or), xor(Xor), !(Not) 比较运算符:, = , =, =, !=() 其他运算符:$, &, , -, =, ? : 分析:= vs = if (10abc = 10) /按值比较, 返回true if (10abc = 10)/值和类型一起比较,返回false 注意:在if 中使用等号的问题 11. 分支语句 -1. if.else $d=date(D); /日期是周五 if ($d=Fri) echo Have a nice weekend!; elseif ($d=Sun) /else if:即中间有空格也可以 echo Have a nice Sunday!; else echo Have a nice day!; -2. Switch 语句 java 12. PHP 循环 while 只要指定的条件成立,则循环执行代码块 do.while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循环代码块, 每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推 $arr=array(one, two, three); foreach ($arr as $value) echo Value: . $value . ; break ; break 1 ; /只退出一层,-break 2 ; /退出两层循环 continue ; continue 1 ; 13. 有三种数组类型: 数值数组 : 带有数字 ID 键的数组 关联数组 : 数组中的每个 ID 键关联一个值 多维数组 : 包含一个或多个数组的数组 -1. 数值数组 数值数组存储的每个元素都带有一个数字 ID 键。 可以使用不同的方法来创建数值数组: -1.自动分配 ID 键: $names = array(Peter,Quagmire,Joe); -2.人工分配的 ID 键 - $names0 = Peter; $names5 = Quagmire; $names = Joe; /count($name) ;取得长度,但在此长度为3. for ($i = 0 ; $i 32, Quagmire=30, Joe=34);例子 2 本例与例子 1 相同,不过展示了另一种创建数组的方法: $agesPeter = 32; $agesQuagmire = 30; $agesJoe = 34; $value) echo $key.; echo $value; ? -3. 多维数组 在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。 $ar = Array(Array(1,2,3), Array(a,b) ; /可以用两层for循环进行遍历 /第一维下标为数字 $families = Array( 1=array ( Peter, Lois, Megan ), 2=array ( Glenn ), 3=array ( Cleveland, Loretta, Junior ) ); for ($i = 1 ; $i =3 ; $i +) /用数字循环,但要注意第一维的数字 for ($j = 0 ; $j count($families$i) ; $j +) echo $families$i$j. ; /第一维下标为关联字符串 $families = array ( a=array ( Peter, Lois, Megan ), b=array ( Glenn ), c=array ( Cleveland, Loretta, Junior ) ); foreach ($families as $key=$value) echo $key. ; for ($i = 0 ; $i count($value) ; $i+) echo $value$i ; echo ; count($ar) ;/返回数组长度 is_array($ar) ; /判断是不是数组 print_r($ar) ; /进行数组元素输出 $ar = explode(, a,b,c,d,e) ; /字符串转化为数组 14. PHP 函数 在 PHP 中,提供了超过 700 个内建的函数。 -1. 创建 PHP 函数: 所有的函数都使用关键词 function() 来开始 命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。 添加 - 开口的花括号之后的部分是函数的代码。 插入函数代码 添加一个 - 函数通过关闭花括号来结束。 可以有参数,可以有返回值,但不用明确返回值类型 -2. md5(要加密的数据) ; -3. isset($var) ; unset($var) ; -4. global : 可以在函数内操作全局变量 -5. return , 参数地址:& , -6. 初始化参数值,此为选择性接收 -7. function_exists(func_name) ; 15. PHP 表单和用户输入 PHP 的 $_GET 和 $_POST 用于检索表单中的值 -1. $_GET 变量用于收集来自 method=get 的表单中的值。 表单默认的提交方式,地址重写也是get方法 $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。 -2. $_POST 变量用于收集来自 method=post 的表单中的值。 要在表单中明确是post 方法 -3. $_REQUEST 变量 PHP 的 $_REQUEST 变量包含了 $_GET, $_POST 以及 $_COOKIE 的内容。 PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。 16. php页面跳转函数, PHP中重新定向到另一个页面 -1. 用HTTP头信息 也就是用PHP的HEADER函数。 用HTTP头信息重定向到另外一个页面的方法如 在PHP中用header(location:test.php)进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题 -1. location和:号间不能有空格,否则会出错。 -2. 在用header前不能有任何的输出。 -3. header后的PHP代码还会被执行。 -2. 用HTML标记 用HTML标记,就是用META的refresh标记,举例如下: echo 3. 用脚本来实现 举例如下: ? $url=; echo !-; echo location.href=/;$url; echo -; ? 17. 日期处理 PHP Date() PHP Date() 函数可把时间戳格式化为可读性更好的日期和时间。 语法: date(format,timestamp) format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前的日期和时间。 什么是时间戳(Timestamp)? 时间戳是自 1970年1月1日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestam)。 ?php echo date(Y/m/d H:i:s); echo ; echo date(Y.m.d); echo ; echo date(Y-m-d); ? 18. PHP 引用文件 PHP文件包含语句 include、include_once、require、require_once -1. include() include(/path/to/filename) include()语句将在其被调用的位置处包含一个文件。包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果。 使用include()时可以忽略括号。 可以根据条件来执行include()语句。在条件语句中使用include()有个怪现象,它必须包围在语句块大括号中,或者用其他语句包围符括起来。 -2. include_once() include_once(filename) include_once()函数的作用与include相同,不过它会首先验证是否已经包含了该文件。如果已经包含,则不再执行include_once。否则,则必须包含该文件。除了这一点与include完全相同。 -3. require() require(filename) require()在很大程度上与include相同,都是将一个模板文件包含到require调用坐在的位置。 require和include之间有两点重要的区别。首先,无论require的位置如何,制定文件都将包含到出现require的脚本中。例如,即使require放在计算结果为假的if语句中,依然会包含指定文件。 第二个重要的区别是:require出错时,脚本将停止运行,而在使用include的情况下,脚本将继续执行。 -4. require_once() require_once(filename) 随着网站越来越大,可能会出现重复包含某些文件。这也许不是问题,但又是修改了所包含文件的变量后,却由于后面再次包含原来的文件而被覆盖,可能不希望出现这种情况。还可能出现另一个问题,即所包含文件中函数名的冲突。使用require_once就可以解决这些问题。 require_once函数确保文件只包含一次。在遇到require_once后,后面再试图包含相同的文件时将被忽略。 19. PHP 文件处理 -1. fopen() 函数用于在 PHP 中打开文件。 函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件 模式 描述 r 只读。在文件的开头开始。 r+ 读/写。在文件的开头开始。 w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。 a+ 读/追加。通过向文件末端写内容,来保持文件内容。 x 只写。创建新文件。如果文件以存在,则返回 FALSE。 x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。 注意:如果 fopen() 无法打开指定文件,则返回 0 (false)。 -2. 关闭文件 fclose() 函数用于关闭打开的文件。 $file = fopen(test.txt,r); fclose($file); -3. 检测 End-of-file feof() 函数检测是否已达到文件的末端 (EOF)。 if (feof($file) echo End of file; 注意:在 w 、a 以及 x 模式,您无法读取打开的文件! -4. 逐行读取文件 fgets() 函数用于从文件中逐行读取文件。 ?php $file = fopen(welcome.txt, r) or exit(Unable to open file!); /Output a line of the file until the end is reached while(!feof($file) echo fgets($file). ; fclose($file); ? -5. 逐字符读取文件 fgetc() 函数用于从文件逐字符地读取文件。 20. PHP 文件上传 通过 PHP,可以把文件上传到服务器。 -1. 创建文件上传表单 Filename: 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 multipart/form-data。 -2. 创建上传脚本 upload_file.php 文件含有供上传文件的代码: 0) echo Error: . $_FILESfileerror . ; else echo Upload: . $_FILESfilename . ; echo Type: . $_FILESfiletype . ; echo Size: . ($_FILESfilesize / 1024) . Kb; echo Stored in: . $_FILESfiletmp_name; ? 通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。 第一个参数是表单的 input name,第二个下标可以是 name, type, size, tmp_name 或 error。就像这样: $_FILESfilename - 被上传文件的名称 $_FILESfiletype - 被上传文件的类型 $_FILESfilesize - 被上传文件的大小,以字节计 $_FILESfiletmp_name - 存储在服务器的文件的临时副本的名称 $_FILESfileerror - 由文件上传导致的错误代码 -3.上传限制 如:用户只能上传 .gif 或 .jpeg 文件,文件大小必须小于 20 kb ?php if ($_FILESfiletype = image/gif) | ($_FILESfiletype = image/jpeg) | ($_FILESfiletype = image/pjpeg) & ($_FILESfilesize 0) echo Error: . $_FILESfileerror . ; else echo Upload: . $_FILESfilename . ; echo Type: . $_FILESfiletype . ; echo Size: . ($_FILESfilesize / 1024) . Kb; echo Stored in: . $_FILESfiletmp_name; else echo Invalid file; ? 注意:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg -4.保存被上传的文件 在服务器的 PHP 临时文件夹创建了一个被上传文件的临时副本。 ?php if ($_FILESfiletype = image/gif) | ($_FILESfiletype = image/jpeg) | ($_FILESfiletype = image/pjpeg) & ($_FILESfilesize 0) echo Return Code: . $_FILESfileerror . ; else echo Upload: . $_FILESfilename . ; echo Type: . $_FILESfiletype . ; echo Size: . ($_FILESfilesize / 1024) . Kb; echo Temp file: . $_FILESfiletmp_name . ; if (file_exists(upload/ . $_FILESfilename) echo $_FILESfilename . already exists. ; else move_uploaded_file($_FILESfiletmp_name, upload/ . $_FILESfilename); echo Stored in: . upload/ . $_FILESfilename; else echo Invalid file; ? 检测了是否已存在此文件,如果不存在,把文件保存到了名为 upload 的新文件夹。 20. PHP Cookies cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。 -1. 如何创建 cookie setcookie() 函数用于设置 cookie。 注意:setcookie() 函数必须位于 标签之前 setcookie(name, value, expire, path, domain); setcookie(user, Alex Porter, time()+3600); -2. 取回 Cookie 的值 echo $_COOKIEuser; /打印所有的Cookie print_r($_COOKIE); 使用 isset() 函数来确认是否已设置了 cookie: ?php if (isset($_COOKIEuser) echo Welcome . $_COOKIEuser . !; else echo Welcome guest!; ? -3. 删除 cookie 删除 cookie 就是重新设置时间点 setcookie(user, , time()-3600); 要注意:你的浏览器可能不支持Cookie 21. PHP Sessions 通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称)。不过,会话信息是临时的,在用户离开网站后将被删除。 -1. 开始 PHP Session 在您把用户信息存储到 PHP session 中之前,首先必须启动会话。 注意:session_start() 函数必须位于 标签之前 -2. 存储并取得 Session 变量 创建了一个简单的 page-view 计数器 -3. 删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。 unset($_SESSIONviews); session_destroy(); session_destroy() 将重置 session,您将失去所有已存储的 session 数据。 22. 异常处理: 在 PHP 代码中所产生的异常可被 throw 语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论