Php面试宝典100题汇总_第1页
Php面试宝典100题汇总_第2页
Php面试宝典100题汇总_第3页
Php面试宝典100题汇总_第4页
Php面试宝典100题汇总_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、Php面试100题汇总1,Http 和Https的区别第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议第二:http和https使用的是完全不同的连接方式,端口也不一样,前者80 或者443第三:http连接很简单,是无状态的。https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议。2.什么方法来加快页面的加载速度1,用到服务器资源时在打开,不用时,立即关闭服务器资源。2,数据库添加索引3,页面可生成静态4,图片等大文件单独放在一个服务器5,能不查询数据库的尽量不去数据取数据,可以放在缓存中。3.表单中 get与post提交方法

2、的区别?答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.4.echo ,print,print_r的区别:echo是php语句,无返回值。print,print_r是函数,有返回值。print() 只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串5.session与cookie区别session与cookie相同:跨页面、不跨用户session与cookie不相同:1、session可以存储任意类型的数据,但cookie只能存储字符串

3、2、cookie产生在服务器端、存储在客户端 session产生在服务器端、存储在服务器端6.魔术常量答案:_LINE_文件中的当前行号。_FILE_文件的完整路径和文件名。_FUNCTION_函数名称_CLASS_类的名称_METHOD_类的方法名7.数据库中的事务是什么?答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。8.1优化MYSQL数据库的方法。1、选择合适的

4、字段的数据类型 1)能用数字不用字符串 2)char、varchar、text 能用varchar不用char 3)给字段加not null 避免在表中出现NULL关键字(default 值)2、选择合适的字段充当主键 1)建议每张表必须有主键 2)用数字类型的字段充当主键3、 拆分表1) 拆分字段,将文章的标题与内容分开2)拆分记录,将今年的记录与往年的记录分开4、 给字段合理添加索引a.格式: (普通索引)- 创建:CREATE INDEX ON tablename (索引字段) 修改:ALTER TABLE tablename ADD INDEX 索引名 (索引字段) 创表指定索引:CR

5、EATE TABLE tablename(.,INDEX索引名(索引字段) (唯一索引)- 创建:CREATE UNIQUE ON tablename (索引字段) 修改:ALTER TABLE tablename ADD UNIQUE 索引名 (索引字段) 创表指定索引:CREATE TABLE tablename(.,UNIQUE索引名(索引字段) (主键)- 它是唯一索引,一般在创建表是建立,格式为: CREATA TABLE tablename (.,PRIMARY KEY索引字段)5、事务处理: a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败 mysql_q

6、uery(BEGIN); mysql_query(INSERT INTO customerinfo (name) VALUES ($name1); mysql_query(SELECT * FROM orderinfo where customerid=.$id); mysql_query(COMMIT);6、锁定表,优化事务处理:a.我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。 包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前, 不会有其它的访问来对 inventory 进行插

7、入、更新或者删除的操作 mysql_query(LOCK TABLE customerinfo READ, orderinfo WRITE); mysql_query(SELECT customerid FROM customerinfo where id=.$id); mysql_query(UPDATE orderinfo SET ordertitle=$title where customerid=.$id); mysql_query(UNLOCK TABLES); 7、使用外键,优化锁定表 a.把customerinfo里的customerid映射到orderinfo里的custome

8、rid, 任何一条没有合法的customerid的记录不会写到orderinfo里 CREATE TABLE customerinfo( customerid INT NOT NULL, PRIMARY KEY(customerid) )TYPE = INNODB; CREATE TABLE orderinfo( orderid INT NOT NULL, customerid INT NOT NULL, PRIMARY KEY(customerid,orderid), FOREIGN KEY (customerid) REFERENCES customerinfo (customerid)

9、ON DELETE CASCADE )TYPE = INNODB; 注意:ON DELETE CASCADE,该参数保证当customerinfo表中的一条记录删除的话同时也会删除order 表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB; 8、优化查询语句a用内连接代替子查询代替子查询,用sphinx代替like模糊查询 b最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作 例子1: SELECT * FROM order WHERE YEAR(orderDate)2008;(慢) SELECT * FROM order WHERE orderDate20

10、08-01-01;(快) 例子2: SELECT * FROM order WHERE addtime/724;(慢) SELECT * FROM order WHERE addtime=good and namegood;9、 缓存,静态化10、 选择合适存储引擎用Innodb增删改,用myisam查询11、 主从数据库12、 负载均衡13、 最好拿数字类型的字段充当where条件14、 最好拿相同类型的字段进行比对(避免发生数据类型的转换)15、 不要在具有索引的字段上添加数据库函数(索引失效)8.2请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?答:(1)选

11、择最有效率的表名顺序(2)WHERE子句中的连接顺序(3)SELECT子句中避免使用*(4)用Where子句替换HAVING子句(5)通过内部函数提高SQL效率(6)避免在索引列上使用计算。(7)提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉。9.对于大流量网站,采用什么方法解决访问量问题?1,确认服务器的硬件是否足够支持当前的流量2,优化数据库的访问3,禁止外部的盗链4,控制大文件的下载5,使用不同主机分流主要流量6,使用流量分析统计软件10.一个函数,能够遍历一个文件夹下的所有文件和子文件夹(20分)function dir_recurse($di

12、r) $i = 1; if($handle = opendir($dir) while(false != ($file = readdir($handle) if($file != .& $file != . ) if(is_dir($dir./.$file) = true) $fullpath = $dir./.$file; dir_recurse($fullpath); echo $fullpathn; $i+; else $fullpath = $dir./.$file; echo $fullpathn; $i+; closedir($handle); 10.2写一个函数,能够遍历一个文

13、件夹下的所有文件和子文件夹。 function my_scandir($dir) $files = array(); if ( $handle = opendir($dir) ) while ( ($file = readdir($handle) != false ) if ( $file != .& $file != . ) if ( is_dir($dir . / . $file) ) $files$file = scandir($dir . / . $file); else $files = $file; closedir($handle); return $files; 11、能够使H

14、TML和PHP分离开使用的模板(1分)答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate12、使用哪些工具进行版本控制?(1分)答:cvs,svn,vss;13、如何实现字符串翻转?(3分)英文:strrev($a)中文或其他文字:中文:GB2312, 代码是使用GB2312编码?php function reverse($str) $ret = ; len=mb s trwidth( len=mbstrwidth(len = mb_strwidth(str,GB2312); for(i=0; i=0;i=0

15、; irequire是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require include-include有返回值,而require没有(可能因为如此require的速度比include快) 注意:包含文件不存在或者语法错误的时候require是致命的,include不是18.http请求返回状态码400 请求无效401 未授权403 请求被禁止404 请求资源不存在405 请求资源被禁止406 无法接受407 要求代理身份验证500 Internal Server Error 服务端源代码错误600 源站没有返回响应头部,只返回实现内容19,linux授

16、权码:600 属主有读写权限644 属主有读写权限,属性组有读权限700 属主有读写执行权限755 属主有读写执行权限,属性组有读,执行权限711 属主有读写执行权限,属性组有执行权限666 所有用户都有文件的读写权限777 所有用户都有文件的读写执行权限20.有一个网页地址, 比如PHP开发资源网主页: /index.html,如何得到它的内容?($1分)答:方法1(对于PHP5及更高版本): $readcontents = fopen(/index.html, rb); $contents = stream_g

17、et_contents($readcontents); fclose($readcontents); echo $contents; 方法2: echo file_get_contents(/index.html);21.在PHP中error_reporting这个函数有什么作用? (1分)答:设置错误级别与错误信息回报22.JS表单弹出对话框函数是?获得输入焦点函数是? (2分)答:弹出对话框: alert(),prompt(),confirm() 获得输入焦点 focus()23.foo()和foo()之间有什么区别?(1分)答:foo()控制错误输

18、出24、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)答:mysql_fetch_row是从结果集取出1行数组,作为枚举 mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得25、GD库是做什么用的? (1分)答:gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。26.面向对象编程有两个重要的概念:类和对象类是具备某项功能的抽象模型,实际应用中,还需要对类进行实例化后使用。这样就引入了对象的概念。对象

19、是类进行实例化后的一个产物,是一个实体。封装 :把客观的事物封装成一个抽象的类。继承:子类继承父类,可以使用父类的属性和方法。可以实现接口,同时实现接口中的所有方法多态:覆盖和重载 子类可以覆盖父类中的方法;一个类中可以同时拥有同一个函数名的方法,但是方法的参数不同,实现的结果也不同。27.php框架熟悉YII ,Thinkphp还有laravel ,symfony2,cakephp28.mysql存储引擎ISAM:查询速度快、增删改慢,支持全文索引、不支持外键、不支持事务MyISAM:ISAM升级版Memory:数据驻留在内存、速度快、数据管理不稳定、断电后数据全部丢失InnoDB:速度较慢

20、、支持外键、支持事务、不支持全文索引使用的存储引擎MyISAM:内容管理系统(新闻、官网、电商、软件下载、房屋、招聘.) 可读不可改 大部分是浏览信息 InnoDB:技术型网站(bbs、blog、webo、oa.)29.数据库操作流程$link = mysql_connect(localhost,root,root);mysql_select_db(test,$link);$sql =select * from table;$result = mysql_query($sql);while($row =mysql_fetch_*($result) )$arr=$row;$row = mysql

21、_fetch_array($result) 意思:$rowname 和$row1 都可以取到值$row = mysql_fetch_row($result) 意思:$row1 只有用索引取值,偏移量从0开始。$row = mysql_fetch_assoc($result) 意思: $rowname 字段名作为索引取值 抽取一条记录转为 关联数组,失败返回false30.php 加密函数crypt($str,$slat) 可以完成单向加密功能md5()sha1() 返回一个40位的十六进制数,加密扩展库Mcrypt() 和Mash31、字符串“to upper case” 分别用php,she

22、ll ,js实现将字符串中的字符全部转换成大写并输出。(5分)Php实现: echo strtoupper(to upper case)Shell实现:echo to upper case | tr a-z A-ZJs实现:var stmp1 = to upper case ;alert(stmp1.toLocaleUpperCase();/转换成大写alert(stmp1.toUpperCase()/转换成大写32.防止SQL注入1)一般使用 addslashes 函数addslashes 函数在制定的预定义字符前添加反斜杠2) 对字段和密码MD5加密处理3) 预处理过滤处理33、用PHP打

23、印出前一天的时间,格式是2006-5-10 22:21:2134.如何实现字符串翻转?其实PHP本身就有字符串翻转的函数:strrev(),不妨试试echo strrev($str);不过所有的这三种方法都不能解决中文字符串翻转的问题,会出错的。 代码 ?phpfunction reverse($var) $res=; for($i=0,$j=strlen($var);$i35.实现中文字串截取无乱码的方法。 mb_substr()36.以下哪一句不会把 John 新增到 users 阵列? $users = john; 成功把 John 新增到阵列 users。 array_add($use

24、rs,john); 函式 array_add() 无定义。 array_push($users,john); 成功把 John 新增到阵列 users。 $users |= john; 语法错误。37.sort()、assort()、和 ksort() 有什么分别?它们分别在什么情况下使用? sort() 根据阵列中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把 阵列排序。 assort() PHP 没有 assort() 函式,所以可能是 asort() 的笔误。 asort() 与 sort() 一样把阵列的元素按英文字母顺序来排

25、列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。 ksort() 根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。38.以下的代码会产生什么?为什么? $num =10; function multiply() $num =$num *10; multiply(); echo $num; 由于函式 multiply() 没有指定 $num 为全域变量(例如 global $num 或者 $_GLOBALSnum),所以 $num 的值是 10。39.些函式可以用来在现正执行的脚本中插入函式库? 对这道题目不同的理解会有不同的答案,我的第一个想法是插入

26、 PHP 函式库不外乎 include()、include_once()、require ()、require_once(),但细心再想,“函式库”也应该包括 com 物件和 .net 函式库,所以我们的答案也要分别包括 com_load 和 dotnet_load,下次有人提起“函式库”的时候,别忘记这两个函式。40.foo() 与 foo() 有什么分别? foo() 会执行这个函式,任何解译错误、语法错误、执行错误都会在页面上显示出来。 foo() 在执行这个函式时,会隐藏所有上述的错误讯息。 很多应用程式都使用 mysql_connect() 和 mysql_query 来隐藏 mys

27、ql 的错误讯息,我认为这是很严重的失误,因为错误 不该被隐藏,你必须妥善处理它们,可能的话解决它们。41. “=”是什么?试举一个“=”是真但“=”是假的例子。“=”是给既可以送回布尔值“假”,也可以送回一个不是布尔值但却可以赋与“假”值的函式,strpos() 和 strrpos() 便是其中两个例子。 问题的第二部份有点困难,想一个“=”是假,但是“=”是真的例子却很容易,相反的例子却很少。但我终于找到以下的 例子: if (strpos(abc, a) = true) / 这部分永不会被执行,因为 a 的位置是 0,换算成布尔值“假”if (strpos(abc, a) = true)

28、 / 这部份会被执行,因为“=”保证函式 strpos() 的送回值不会换算成布尔值.42、如何修改SESSION的生存时间(1分). 答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache 方法2:$savePath = ./session_save_dir/; $lifeTime = 小时 * 秒; session_save_path($savePath); session_set_cookie_params($lifeTime); session_start(); 方法3:setcookie() and session_set_cook

29、ie_params($lifeTime);43、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分) 答:heredoc的语法是用加上自己定义成对的标签,在标签范围內的文字视为一个字符串 例子: $str = SHOW my name is Jiang Qihui! SHOW;44. 在PHP中error_reporting这个函数有什么作用? (1分) 答:设置错误级别与错误信息回报45. 请写一个函数验证电子邮件的格式是否正确 (2分) 答:function checkEmail($email) $pregEmail = /(a-z0-9*-_.?a-z0-9+)*(a

30、-z0-9*-_?a-z0-9+)+.a-z2,3(.a-z2)?/i; return preg_match($pregEmail,$email); 46、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分) 答:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串 char的场地固定为创建表设置的长度,varchar为可变长度的字符47、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分) 答:isset($str),empty($str

31、);48、取得查询结果集总数的函数是?(1分) 答:mysql_num_rows($result);49 简述如何得到当前执行脚本路径,包括所得到参数。50 请举例说明在你的开发过程中用什么方法来加快页面的加载速度1 要用到服务器资源时才打开2 及时关闭服务器资源,3 数据库添加索引,4 页面可生成静态,图片等大文件单独服务器。5 使用代码优化工具啦51 给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每个独立的值放入一个新创建的数组? Astrstr() B不可能只调用一次就完成 Cextract() Dexplode() Estrtok()52如果用+操作符把一个字

32、符串和一个整型数字相加,结果将怎样? A解释器输出一个类型错误 B字符串将被转换成数字,再与整型数字相加 C字符串将被丢弃,只保留整型数字 D字符串和整型数字将连接成一个新字符串 E整形数字将被丢弃,而保留字符串53以下脚本输出什么? $s = 12345; $s$s1 = 2; echo $s; ? A12345 B12245 C22345 D1134554以下脚本输出什么? $x = apple; echo substr_replace ($x, x, 1, 2); ? Ax Baxle Caxxle Dapplex Exapple55 函数_能读取文本文件中的一行。读取二进制文件或者其他

33、文件时,应当用_函数。 Afgets(), fseek() Bfread(), fgets() Cfputs(), fgets() Dfgets(), fread() Efread(), fseek()56哪个函数能够往文本文件中写入一个字符串? 答案:fwrite()和fputs()两个函数在这里都可以,而后者其实是前者的别名。在PHP中,写入二进制数据和写入字符串没有区别。57函数_能判断一个文件是否可写。 答案:is_writeable58以下哪个选项能将文件指针移到开头? Areset() Bfseek(-1) Cfseek(0, SEEK_END) Dfseek(0, SEEK_SE

34、T) Efseek(0, SEEK_CUR)59、include的功能和require一样,不同的是,require不能用在 A、判断语句或循环里, B、连接语句里 C、声明语句里 D、文件的开头 E、文件的中间50、下面建立与MySQL Server的连接语法正确的是: A、$link=connect(host_name,user_name,password); B、$link=mysql_connect(host_name,user_name,password); C、$link=mysqlconnect(host_name,user_name,password); D、$link=mys

35、ql_pconnect(host_name,user_name,password); E、$link=pconnect(host_name,user_name,password);51.将字符串转换成小写strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串52.将字符转成大写strtoupper(): 该函数的作用同strtolower函数相反,是将传入的字符参数的字符全部转换成大写,并以大写的形式返回这个字符串.用法同strtolowe()一 样.53.将字符串首字符转换成大写ucfirst(): 该函数的作用是将字符串的第一个字符改成大写,

36、该函数返回首字符大写的字符串.用法同strtolowe()一样.54.将字符串每个单词的首字符转换成大写 ucwords(): 该函数将传入的字符串的每个单词的首字符变成大写.如hello world,经过该函数处理后,将返回Hello Word.用法同strtolowe()一样.55、NoSQL:Not Only SQL 思想:网站产生的数据,一部分存储数据库、一部分存到NoSQL相关产品 NoSQL产品 1、Memcache:内存(速度快、数据量小)、数据的过期时间 2、MongoDB:文档数据库 3、Redis:内存(速度快、数据量小)、库、没有过期时间56. 什么样的数据,存储在什么位

37、置? MySQL:稳定的数据 NoSQL:活跃的数据 57缓存分类 1、缓存数据存储位置不同 1)文件缓存 2)内存缓存 2、缓存的数据量的不同 1)页面缓存 2)局部缓存 3)局部不缓存 4)数据缓存(变量缓存、动态缓存) Memcache:内存缓存、变量缓存58 .LINUX命令查看当前目录下所有内容 ls在当前目录下,新建一个文件夹 mkdir 文件夹名删除指定的文件夹 rmdir 文件夹名 只能删除空目录在当前目录下新建一个空白文件 touch 文件名删除当前目录下的一个文件 unlink文件名 删除文件或文件夹 rm 复制文件 cp 移动文件或文件夹 mv文件或文件夹重命名 mv 查

38、看完整的工作目录 pwd 切换目录: cd cd/ 返回根目录文件传输 ftp查看文件内容 cat 文件名查看文件编码 file 文件名查找文件 find 路径 -name 文件名修改文件或文件夹权限 权限种类:r 4(读)、w 2(写)、x 1(执行) 权限操作符:+(赋予权限)、-(收回权限) 用户种类:a(所有人)、u(文件拥有者)、g(组用户)、o(其他用户) 查看权限:ls -l -rw-r-r- a.txt drwxr-xr-x hello 第1位:是文件还是文件夹(-文件、d文件夹) 第234位:u用户的权限 第567位:g用户的权限 最后三位:o用户的权限 1)将最大权限赋予a

39、.txt chmod a+r+w+x a.txt chmod 777 a.txt 2)设置a.txt权限,收回o用户的wx权限 chmod o-w-x a.txt 4)设置a.txt权限:u:rw g:r o:r chmod 644 a.txt 5)设置hello文件夹权,给予最大权限(不影响子文件) chmod 777 hello 6)设置hello文件夹权,给予最大权限(影响子文件) chmod -R 777 hello59、创建文件exer1,设置访问权限为rw-r-r-,现要增加所有用户的执行权限和同组用户的写权限,写出操作过程的命令(10分)touch exer1chmod 644

40、exer1增加权限chmod a+x exer1 chmod g+w exer1 或者chmod 775 exer160易出现编码的地方1 文件保存格式的编码2 3 Header();4 Msq本身的编码(修改my.ini)5 Set names gbk;6 Mysql_query(“set names utf8”);7 Iconv()PHP的系统函数进行转码 61.PHP工作原理1 一个网站运行时客户端有无数个,服务器通常只有一个(负载均衡)2 开发环境的安装 Apache2.2,PHP5.4,MYSQL5.3-开源,可以跨平台3 配置文件:httpd.conf(Apache), php.i

41、ni my.ini4 PHP文档组成:HTML,css,js,jquery,PHP5 PHP语法风格:xml风格,短风格,ASP风格(已过时),脚本风格6 注意:位置任意,同一页面可以出现多次,不能嵌套,里面只能出现php代码,需要转字符串输出7 运行在服务器端8 注释:单行注释,多行注释62数据类型:1) 标量类型:integer,Float,String,boolean2) 复合类型:Array,Object3) 特殊类型:Resource,Null4) 伪类型:mixed,number,callback(回调函数)63.PHP中被认为是false的值:0,0.0,null,空数组,空字符

42、串,false64.求两个日期的差数,例如2012-2-27 2013-05-6 的日期差数65什么是MVC?回答:MVC由Model(模型), View(视图)和Controller(控制器)组成,PHP MVC可以更高效地管理好3个不同层的PHP代码。 Model:数据信息存取层。View:view层负责将应用的数据以特定的方式展现在界面上。Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。66.PHP中获取图像尺寸大小的方法是什么?回答:getimagesize () 获取图片的尺寸Imagesx () 获取图片的宽度Imagesy () 获取图片的高度

43、67.如何在PHP中定义常量?回答:PHP中使用Define () 来定义常量。define (“Newconstant”, 30);68.如何不使用submit按钮来提交表单?如果我们不想用submit按钮来提交表单,我们也可以用超链接来提交,我们可以这样写代码:Submit Me69.简述论坛中无限分类的实现原理。答:无限极分类,那么应该是考察递归函数吧!第一步:建立测试数据库: CREATE TABLE category ( id smallint(5) unsigned NOT NULL auto_increment, fid smallint(5) unsigned NOT NULL

44、 default 0, value varchar(50) NOT NULL default , PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;第二步:插入测试数据: INSERT INTO category ( fid, value) VALUES (0, PHP点点通博客PHPDDT.COM), (1,a), (1,b), (2,c), (2,d), (4,e)第三步:递归输出分类:70.试述isset()和empty()的区别isset() 测试变量是否存在 empty() 测试变量是否为空71.请用尽可能少的语句实现对输入E

45、mail地址进行验证的功能eregi(_a-z0-9+(/._a-z0-9-+)*a-z0-9+(/.a-z0-9-+)*$,$emailaddress)72.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组/冒泡排序(数组排序)function bubble_sort($array)$count = count($array);if ($count = 0) return false;for($i=0; $i$i; $j)if ($array$j $array$j-1)$tmp = $array$j;$array$j = $array$j-1;$array$j-1 = $tmp;return $array;/快速排序(数组排序)function quick_sort($array) if (count($array) = 1) return $array;$key = $array0;$left_arr = array();$right_arr = array();for ($i=1; $icount($array); $i+)if ($array$i = $key)$left_arr = $array$i

温馨提示

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

评论

0/150

提交评论