设为首页 收藏本站
查看: 619|回复: 0

[经验分享] php面试题及答案(原创)

[复制链接]

尚未签到

发表于 2017-4-3 09:03:13 | 显示全部楼层 |阅读模式
<wbr>基础题:</wbr>
1.表单中 get与post提交方法的区别?
答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.


2.session与cookie的区别?
答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
<wbr><wbr>cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。<wbr></wbr></wbr></wbr>
<wbr><wbr>两者都可通过时间来设置时间长短</wbr></wbr>


3.数据库中的事务是什么?
答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,


事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。


简述题:
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)
答:echo date('Y-m-d H:i:s', strtotime('-1 days'));


2、echo(),print(),print_r()的区别(3分)
答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)<wbr></wbr>
<wbr><wbr>print()<wbr><wbr>只能打印出简单类型变量的值(如int,string)<wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>print_r()可以打印出复杂类型变量的值(如数组,对象) <wbr></wbr></wbr></wbr>
<wbr><wbr>echo <wbr><wbr> 输出一个或者多个字符串</wbr></wbr></wbr></wbr>


3、能够使HTML和PHP分离开使用的模板(1分)
答:8种:Smarty,Dwoo,TinyButStrong,TemplateLite,Savant,phemplate,XTemplate


5、使用哪些工具进行版本控制?(1分)
答:cvs,svn,vss;
CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.我一直用SVN,题目是问用什么工具,呃,这个可能需要这么回答:CVSServer on Apache作服务端,WinCVS作客户端;Subversion on Apache/DAV做服务端,TortoiseSVN做客户端,或者Subclipse做客户端


6、如何实现字符串翻转?(3分)
答:echo strrev(“asdfg”);
echo'如何实现字符串翻转?'.'<br/>其实PHP本身就有字符串翻转的函数:strrev(),不妨试试echostrrev($str);不过所有的这三种方法都不能解决中文字符串翻转的问题,会出错的。<br/><br/>';
function reverse($var){
$res="";
$j=strlen($var);
for($i=0;$i<$j;$i++){
//echo $var[$i]."<br/>";
$res=$var[$i].$res;
}
return $res;
}
$tmpvar="ABCDEF";
$res=reverse($tmpvar);
echo $res;


7、优化MYSQL数据库的方法。(4分,多写多得)
答:
1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOTNULL,例如'省份,性别',最好设置为ENUM
2、使用连接(JOIN)来代替子查询:
<wbr><wbr>a.删除没有任何订单客户:DELETE FROMcustomerinfo WHERE customerid NOT in(SELECT customerid FROMorderinfo)</wbr></wbr>
<wbr><wbr>b.提取所有没有订单客户:SELECT FROMcustomerinfo WHERE customerid NOT in(SELECT customerid FROMorderinfo)</wbr></wbr>
<wbr><wbr>c.提高b的速度优化:SELECT FROMcustomerinfo LEFT JOIN orderidcustomerinfo.customerid=orderinfo.customerid</wbr></wbr>
<wbr><wbr>WHEREorderinfo.customerid IS NULL</wbr></wbr>
3、使用联合(UNION)来代替手动创建的临时表
<wbr><wbr>a.创建临时表:SELECT name FROM`nametest` UNION SELECT username FROM `nametest2`</wbr></wbr>
4、事务处理:
<wbr><wbr>a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败</wbr></wbr>
<wbr><wbr>mysql_query("BEGIN");</wbr></wbr>
<wbr><wbr>mysql_query("INSERT INTOcustomerinfo (name) VALUES ('$name1')";</wbr></wbr>
<wbr><wbr>mysql_query("SELECT *FROM `orderinfo` where customerid=".$id");</wbr></wbr>
<wbr><wbr>mysql_query("COMMIT");</wbr></wbr>
5、锁定表,优化事务处理:
<wbr><wbr>a.我们用一个 SELECT语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。</wbr></wbr>
<wbr><wbr><wbr>包含有WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,</wbr></wbr></wbr>
<wbr><wbr><wbr>不会有其它的访问来对 inventory 进行插入、更新或者删除的操作</wbr></wbr></wbr>
<wbr><wbr>mysql_query("LOCK TABLEcustomerinfo READ, orderinfo WRITE");</wbr></wbr>
<wbr><wbr>mysql_query("SELECTcustomerid FROM `customerinfo` where id=".$id);</wbr></wbr>
<wbr><wbr>mysql_query("UPDATE`orderinfo` SET ordertitle='$title' where customerid=".$id);</wbr></wbr>
<wbr><wbr>mysql_query("UNLOCKTABLES");</wbr></wbr>
6、使用外键,优化锁定表
<wbr><wbr>a.把customerinfo里的customerid映射到orderinfo里的customerid,</wbr></wbr>
<wbr><wbr><wbr>任何一条没有合法的customerid的记录不会写到orderinfo里</wbr></wbr></wbr>
<wbr><wbr>CREATE TABLEcustomerinfo</wbr></wbr>
<wbr><wbr>(</wbr></wbr>
<wbr><wbr><wbr>customerid INT NOT NULL,</wbr></wbr></wbr>
<wbr><wbr><wbr>PRIMARY KEY(customerid) <wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>)TYPE = INNODB;</wbr></wbr>
<wbr><wbr>CREATE TABLEorderinfo</wbr></wbr>
<wbr><wbr>(</wbr></wbr>
<wbr><wbr><wbr>orderid INT NOT NULL,</wbr></wbr></wbr>
<wbr><wbr><wbr>customerid INT NOT NULL,</wbr></wbr></wbr>
<wbr><wbr><wbr>PRIMARY KEY(customerid,orderid),</wbr></wbr></wbr>
<wbr><wbr><wbr>FOREIGN KEY (customerid) REFERENCEScustomerinfo</wbr></wbr></wbr>
<wbr><wbr><wbr>(customerid) ON DELETE CASCADE<wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>)TYPE = INNODB;</wbr></wbr>
<wbr><wbr>注意:'ON DELETECASCADE',该参数保证当customerinfo表中的一条记录删除的话同时也会删除order</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB;</wbr></wbr></wbr></wbr></wbr>
7、建立索引:
<wbr><wbr>a.格式:</wbr></wbr>
<wbr><wbr>(普通索引)-&gt;</wbr></wbr>
<wbr><wbr>创建:CREATE INDEX&lt;索引名&gt; ON tablename (索引字段)</wbr></wbr>
<wbr><wbr>修改:ALTER TABLE tablenameADD INDEX [索引名] (索引字段)</wbr></wbr>
<wbr><wbr>创表指定索引:CREATE TABLEtablename([...],INDEX[索引名](索引字段))<wbr></wbr></wbr></wbr>
<wbr><wbr>(唯一索引)-&gt;</wbr></wbr>
<wbr><wbr>创建:CREATE UNIQUE&lt;索引名&gt; ON tablename (索引字段)</wbr></wbr>
<wbr><wbr>修改:ALTER TABLE tablenameADD UNIQUE [索引名] (索引字段)</wbr></wbr>
<wbr><wbr>创表指定索引:CREATE TABLEtablename([...],UNIQUE[索引名](索引字段))<wbr></wbr></wbr></wbr>
<wbr><wbr>(主键)-&gt;</wbr></wbr>
<wbr><wbr>它是唯一索引,一般在创建表是建立,格式为:</wbr></wbr>
<wbr><wbr>CREATA TABLE tablename([...],PRIMARY KEY[索引字段])</wbr></wbr>
8、优化查询语句
<wbr><wbr>a.最好在相同字段进行比较操作,在建立好的索引字段上尽量减少函数操作</wbr></wbr>
<wbr><wbr>例子1:</wbr></wbr>
<wbr><wbr>SELECT * FROM order WHEREYEAR(orderDate)&lt;2008;(慢)</wbr></wbr>
<wbr><wbr>SELECT * FROM order WHEREorderDate&lt;"2008-01-01";(快)</wbr></wbr>
<wbr><wbr>例子2:</wbr></wbr>
<wbr><wbr>SELECT * FROM order WHEREaddtime/7&lt;24;(慢)</wbr></wbr>
<wbr><wbr>SELECT * FROM order WHEREaddtime&lt;24*7;(快)</wbr></wbr>
<wbr><wbr>例子3:</wbr></wbr>
<wbr><wbr>SELECT * FROM order WHEREtitle like "%good%";</wbr></wbr>
<wbr><wbr>SELECT * FROM order WHEREtitle&gt;="good" and name&lt;"good";</wbr></wbr>


8、PHP的意思(送1分)
答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页


9、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)
答:now(),date()


10、实现中文字串截取无乱码的方法。(3分) <wbr> //经测试有问题!</wbr>
答:function GBsubstr($string, $start, $length) {
<wbr><wbr>if(strlen($string)&gt;$length){</wbr></wbr>
<wbr><wbr> $str=null;</wbr></wbr>
<wbr><wbr>$len=$start+$length;</wbr></wbr>
<wbr><wbr>for($i=$start;$i&lt;$len;$i++){</wbr></wbr>
<wbr><wbr>if(ord(substr($string,$i,1))&gt;0xa0){</wbr></wbr>
<wbr><wbr>$str.=substr($string,$i,2);</wbr></wbr>
<wbr><wbr> $i++;</wbr></wbr>
<wbr><wbr>}else{</wbr></wbr>
<wbr><wbr>$str.=substr($string,$i,1);</wbr></wbr>
<wbr><wbr>}</wbr></wbr>
<wbr><wbr>}</wbr></wbr>
<wbr><wbr>return $str.'...';</wbr></wbr>
<wbr><wbr>}else{</wbr></wbr>
<wbr><wbr>return $string;</wbr></wbr>
<wbr> }</wbr>
}


11、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)
答:CVS和SVN,SVN号称下一代CVS,功能强大,不过CVS是老牌,市占率很高.我一直用SVN,题目是问用什么工具,呃,这个可能需要这么回答:CVSServer on Apache作服务端,WinCVS作客户端;Subversion on Apache/DAV做服务端,TortoiseSVN做客户端,或者Subclipse做客户端


12、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)
答:用过,smarty


13、请简单阐述您最得意的开发之作(4分)
答:信息分类


14、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
答:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,
<wbr><wbr>程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量</wbr></wbr>


15、用PHP写出显示客户端IP与服务器IP的代码1分)
答:打印客户端IP:echo$_SERVER[‘REMOTE_ADDR’];<wbr></wbr>
或者: getenv('REMOTE_ADDR');
<wbr><wbr>打印服务器IP:echogethostbyname("www.bolaiwu.com")</wbr></wbr>


16、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)
答:require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require<wbr></wbr>
<wbr><wbr>include-&gt;include有返回值,而require没有(可能因为如此require的速度比include快)<wbr></wbr></wbr></wbr>
<wbr><wbr>注意:包含文件不存在或者语法错误的时候require是致命的,include不是</wbr></wbr>


17、如何修改SESSION的生存时间(1分).
答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache
<wbr><wbr>方法2:$savePath ="./session_save_dir/";</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>$lifeTime = 小时 * 秒;</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>session_save_path($savePath);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>session_set_cookie_params($lifeTime);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr> session_start();</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>方法3:setcookie() andsession_set_cookie_params($lifeTime);</wbr></wbr>
<wbr></wbr>
18、有一个网页地址, 比如PHP开发资源网主页:http://www.phpres.com/index.html,如何得到它的内容?($1分)
答:方法1(对于PHP5及更高版本):
<wbr><wbr>$readcontents =fopen("http://www.phpres.com/index.html", "rb");</wbr></wbr>
<wbr><wbr>$contents =stream_get_contents($readcontents);</wbr></wbr>
<wbr><wbr>fclose($readcontents);</wbr></wbr>
<wbr><wbr>echo $contents;</wbr></wbr>
<wbr><wbr>方法2:</wbr></wbr>
<wbr><wbr>echofile_get_contents("http://www.phpres.com/index.html");</wbr></wbr>


19、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header函数,其语句为(?);(2分)
答:状态401代表未被授权;header("Location:www.xxx.php");


12、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)
答:heredoc的语法是用"<<<"加上自己定义成对的标签,在标签范围內的文字视为一个字符串
<wbr><wbr>例子:</wbr></wbr>
<wbr><wbr>$str =&lt;&lt;&lt;SHOW</wbr></wbr>
<wbr><wbr>my name is JiangQihui!</wbr></wbr>
<wbr><wbr>SHOW;</wbr></wbr>


13、谈谈asp,php,jsp的优缺点(1分)
答: <wbr> ASP全名Active ServerPages,是一个WEB服务器端的开发环境, 利用它可以产生和运</wbr>
行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script
)作为自己的开发语言。<wbr></wbr>
  PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法
, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数
据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.ne
t)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。<wbr></wbr>
  JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--
脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Jav
a 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Js
p--Java Server Page。Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点
程序。<wbr></wbr>
  三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的
第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式
,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PH
P、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到<wbr></wbr>
HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术
,客户端浏览器不需要任何附加的软件支持。


14、谈谈对mvc的认识(1分)
答:由模型(model),视图(view),控制器(controller)完成的应用程序
<wbr><wbr>由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;</wbr></wbr>


15、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)
答:SELECT * FROM `members` ORDER BY posts DESC limit0,10;


16. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略
<wbr><wbr>按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改</wbr></wbr>
<wbr><wbr>优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。</wbr></wbr>
<wbr><wbr>按引用传递则不需要复制值,对于性能提高很有好处。</wbr></wbr>


17. 在PHP中error_reporting这个函数有什么作用? (1分)
答:设置错误级别与错误信息回报


18. 请写一个函数验证电子邮件的格式是否正确 (2分)
答:function checkEmail($email){
<wbr><wbr> $pregEmail ="/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i";</wbr></wbr>
<wbr><wbr> returnpreg_match($pregEmail,$email); <wbr></wbr></wbr></wbr>
<wbr> }</wbr>


19. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)
答:$script_name = basename(__file__);print_r($script_name);


21、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)
答:弹出对话框: alert(),prompt(),confirm()
<wbr><wbr>获得输入焦点 focus()</wbr></wbr>


22、JS的转向函数是?怎么引入一个外部JS文件?(2分)
答:window.location.href,<scripttype="text/javascript"src="js/js_function.js"></script>


23、foo()和@foo()之间有什么区别?(1分)
答:@foo()控制错误输出


24、如何声明一个名为”myclass”的没有方法和属性的类? (1分)
答:class myclass{ }


25、如何实例化一个名为”myclass”的对象?(1分)
答:new myclass()


26、你如何访问和设置一个类的属性? (2分)
答:$object = new myclass();
<wbr><wbr>$newstr =$object-&gt;test;</wbr></wbr>
<wbr><wbr>$object-&gt;test = "info";</wbr></wbr>


27、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)
答:mysql_fetch_row是从结果集取出1行数组,作为枚举
<wbr><wbr>mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得</wbr></wbr>


28、GD库是做什么用的? (1分)
答:gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。<wbr></wbr>
<wbr><wbr>在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。</wbr></wbr>


29、指出一些在PHP输入一段HTML代码的办法。(1分)
答:echo "<ahref='index.php'>aaa</a>";


30、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)
<wbr><wbr> (a) fget() (b)file_open() (c) fopen() (d) open_file() <wbr>[<wbr>c <wbr>]</wbr></wbr></wbr></wbr></wbr>


31、下面哪个选项没有将 john 添加到users 数组中? (1分)
  (a) $users[] = ‘john’;
  (b) array_add($users,’john’);
  (c) array_push($users,‘john’);
  (d) $users ||= ‘john’; <wbr>[<wbr>a , c <wbr>]</wbr></wbr></wbr>


32、下面的程序会输入是否?(1分)
  $num = 10;
  function multiply(){
  $num = $num * 10;
  }
  multiply();
  echo $num;
  ?>
<wbr><wbr> 输出:10</wbr></wbr>


33、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)
  表名User
  Name Tel Content Date
  张三 13333663366 大专毕业 2006-10-11
  张三 13612312331 本科毕业 2006-10-15
  张四 021-55665566 中专毕业 2006-10-15
  请根据上面的题目完成代码:
  $mysql_db=mysql_connect("local","root","pass");
  @mysql_select_db("DB",$mysql_db);
<wbr><wbr><wbr><wbr>$result = mysql_query("SELECT * FROM `user` WHEREname='张三'");</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> while($rs = mysql_fetch_array($result)){</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr>echo $rs["tel"].$rs["content"].$rs["date"];</wbr></wbr></wbr></wbr>
<wbr><wbr> }<wbr><wbr></wbr></wbr></wbr></wbr>


34、如何使用下面的类,并解释下面什么意思?(3)
  class test{
<wbr><wbr><wbr>function Get_test($num){</wbr></wbr></wbr>
   <wbr><wbr>$num=md5(md5($num)."En");</wbr></wbr>
   <wbr><wbr>return $num;</wbr></wbr>
   }
  }
答:$testnum = "123";
<wbr><wbr>$object = newtest();</wbr></wbr>
<wbr><wbr>$encrypt =$object-&gt;Get_test($testnum);</wbr></wbr>
<wbr><wbr>echo $encrypt;</wbr></wbr>
<wbr><wbr>类test里面包含Get_test方法,实例化类调用方法多字符串加密</wbr></wbr>


35、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)
  表名User
  Name Tel Content Date
  张三 13333663366 大专毕业 2006-10-11
  张三 13612312331 本科毕业 2006-10-15
  张四 021-55665566 中专毕业 2006-10-15
  (a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中
<wbr><wbr> mysql_query("INSERT INTO`user` (name,tel,content,date) VALUES<wbr></wbr></wbr></wbr>
<wbr><wbr>('小王','13254748547','高中毕业','2007-05-06')")</wbr></wbr>


  (b) 请用sql语句把张三的时间更新成为当前系统时间
<wbr><wbr> $nowDate =date("Ymd");</wbr></wbr>
<wbr><wbr> mysql_query("UPDATE`user` SET date='".$nowDate."' WHERE name='张山'");</wbr></wbr>


  (c) 请写出删除名为张四的全部记录
<wbr><wbr> mysql_query("DELETE FROM`user` WHERE name='张四'");</wbr></wbr>


36、请写出数据类型(int char varchar datetime text)的意思;请问varchar和char有什么区别(2分)
答:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串
<wbr><wbr>char的场地固定为创建表设置的长度,varchar为可变长度的字符</wbr></wbr>


38、写出以下程序的输出结果 (1分)
  $b=201;
  $c=40;
<wbr><wbr>$a=$b&gt;$c?4:5;</wbr></wbr>
  echo $a;
  ?>
答:4


39、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)
答:isset($str),empty($str);


40、取得查询结果集总数的函数是?(1分)
答:mysql_num_rows($result);


41、$arr = array('james', 'tom', 'symfony'); 请打印出第一个元素的值(1分)
答:echo $array[0];


42、请将41题的数组的值用','号分隔并合并成字串输出(1分)
答:for($i=0;$i<count($array);$i++){ echo$array[$i].",";}


43、$a = 'abcdef'; 请取出$a的值并打印出第一个字母(1分)
答:echo $a{0} 或 echo substr($a,0,1)


44、PHP可以和sql server/oracle等数据库连接吗?(1分)
答:当然可以


45、请写出PHP5权限控制修饰符(3分)
答:public(公共),private(私用),protected(继承)


46、请写出php5的构造函数和析构函数(2分)
答:__construct , __destruct


47、完成以下:
<wbr><wbr>(一)创建新闻发布系统,表名为message有如下字段 (3分)</wbr></wbr>
  id 文章id
  title 文章标题
  content 文章内容
  category_id 文章分类id
<wbr><wbr> hits 点击量</wbr></wbr>
答:CREATE TABLE 'message'(
<wbr><wbr>'id' int(10) NOT NULLauto_increment,</wbr></wbr>
<wbr><wbr>'title' varchar(200)default NULL,</wbr></wbr>
<wbr><wbr>'content' text,</wbr></wbr>
<wbr><wbr>'category_id' int(10) NOTNULL,</wbr></wbr>
<wbr><wbr>'hits' int(20),</wbr></wbr>
<wbr><wbr>PRIMARY KEY('id');</wbr></wbr>
<wbr><wbr>)ENGINE=InnoDB DEFAULTCHARSET=utf8;</wbr></wbr>


<wbr><wbr>(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下 (4分)</wbr></wbr>
  comment_id 回复id
  id 文章id,关联message表中的id
  comment_content 回复内容
  现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
  文章id 文章标题 点击量 回复数量
  用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
答:SELECT message.id id,message.title title,IF(message.`hits`IS NULL,0,message.`hits`) hits,
<wbr><wbr>IF(comment.`id` isNULL,0,count(*)) number FROM message LEFTJOIN<wbr></wbr></wbr></wbr>
<wbr><wbr>comment ONmessage.id=comment.id GROUP BY message.`id`;</wbr></wbr>


  (三)上述内容管理系统,表category保存分类信息,字段如下 (3分)
  category_id int(4) not null auto_increment;
  categroy_name varchar(40) not null;
  用户输入文章时,通过选择下拉菜单选定文章分类
  写出如何实现这个下拉菜单
答:function categoryList()
{
<wbr><wbr>$result=mysql_query("select category_id,categroy_name fromcategory")</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> ordie("Invalid query: " . mysql_error());</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>print("&lt;select name='category'value=''&gt;/n");</wbr></wbr>
<wbr><wbr>while($rowArray=mysql_fetch_array($result))</wbr></wbr>
<wbr><wbr> {</wbr></wbr>
<wbr><wbr><wbr><wbr>print("&lt;optionvalue='".$rowArray['category_id']."'&gt;".$rowArray['categroy_name']."&lt;/option&gt;/n");</wbr></wbr></wbr></wbr>
<wbr><wbr> }</wbr></wbr>
<wbr><wbr>print("&lt;/select&gt;");</wbr></wbr>
}


编程题:
1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
<wbr><wbr>例如:http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php</wbr></wbr>
答案1:
<wbr><wbr>functiongetExt($url){</wbr></wbr>
<wbr><wbr>$arr =parse_url($url);</wbr></wbr>
<wbr><wbr></wbr></wbr>
<wbr><wbr>$file =basename($arr['path']);</wbr></wbr>
<wbr><wbr>$ext =explode(".",$file);</wbr></wbr>
<wbr><wbr>return $ext[1];</wbr></wbr>
}
答案2:
<wbr><wbr> function getExt($url){</wbr></wbr>
<wbr><wbr> $url =basename($url);</wbr></wbr>
<wbr><wbr> $pos1 =strpos($url,".");</wbr></wbr>
<wbr><wbr> $pos2 =strpos($url,"?");</wbr></wbr>
<wbr><wbr>if(strstr($url,"?")){</wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>return substr($url,$pos1 +1,$pos2 - $pos1 - 1);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> } else {</wbr></wbr>
<wbr><wbr><wbr>return substr($url,$pos1);</wbr></wbr></wbr>
<wbr><wbr> }</wbr></wbr>
}




2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以下是一个标准的 meta语句
  请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为big5
  请注意:
  1. 需要处理完整的 html 页面,即不光此 meta 语句
  2. 忽略大小写
<wbr><wbr> 3. ' 和 " 在此处是可以互换的</wbr></wbr>
<wbr><wbr> 4. 'Content-Type'两侧的引号是可以忽略的,但 'text/html; charset=gbk' 两侧的不行</wbr></wbr>
  5. 注意处理多余空格


3. 写一个函数,算出两个文件的相对路径
  如 $a = '/a/b/c/d/e.php';
  $b = '/a/b/12/34/c.php';
  计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
答:function getRelativePath($a, $b) {<wbr><wbr></wbr></wbr>
<wbr><wbr> $returnPath =array(dirname($b)); <wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> $arrA = explode('/',$a); <wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> $arrB = explode('/',$returnPath[0]); <wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> for ($n = 1, $len =count($arrB); $n &lt; $len; $n++) {<wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> if ($arrA[$n] != $arrB[$n]) {<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> break;<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> } <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> }<wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> if ($len - $n&gt; 0) { <wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> $returnPath = array_merge($returnPath,array_fill(1, $len - $n, '..'));<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> }<wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> $returnPath =array_merge($returnPath, array_slice($arrA, $n));<wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> return implode('/',$returnPath); <wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>}<wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>echo getRelativePath($a,$b);<wbr></wbr></wbr></wbr>


填空题:
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量__$_SERVER['PHP_SELF']__中;而链接到当前页面的URL记录在预定义变量__$_SERVER['HTTP_REFERER']__





2.执行程序段<?php echo 8%(-2)?>将输出__0__。


3.在HTTP 1.0中,状态码 401 的含义是____;如果返回“找不到文件”的提示,则可用 header函数,其语句为____。


4.数组函数 arsort 的作用是__对数组进行逆向排序并保持索引关系__;语句error_reporting(2047)的作用是__报告所有错误和警告__。


5.PEAR中的数据库连接字符串格式是____。


6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把scrīpt标记及其内容都去掉):preg_replace("/<script[^>].*?>.*?</script>/si","newinfo", $script);


7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
<wbr> LoadModule php5_module"c:/php/php5apache2.dll" , AddType application/x-httpd-php.php,</wbr>


8.语句 include 和 require都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句__require_once||include_once__来代替它们。


9.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是____。


10.一个函数的参数不能是对变量的引用,除非在php.ini中把__allow_call_time_pass_referenceboolean__设为on.


11.SQL中LEFT JOIN的含义是__自然左外链接__。如果tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)


和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____。


12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____。


编程题:
13.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
答:
function my_scandir($dir)
{
<wbr><wbr><wbr>$files= array();</wbr></wbr></wbr>
<wbr><wbr><wbr>if ($handle = opendir($dir) ) {</wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>while ( ($file =readdir($handle)) !== false ) {</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>if ( $file != ".."&amp;&amp; $file != "." ) {</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if (is_dir($dir . "/" . $file) ) {</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$files[$file] = scandir($dir ."/" . $file);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$files[] = $file;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>closedir($handle);</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr>return $files;</wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr>}</wbr></wbr></wbr>
}


14.简述论坛中无限分类的实现原理。
答:
<?php


//指定分类id变量$category_id,然后返回该分类的所有子类
//$default_category为默认的选中的分类
function Get_Category($category_id = 0,$level = 0,$default_category = 0)
{
<wbr>global $DB;</wbr>
<wbr>$sql = "SELECT * FROM category ORDER BYcategoryID DESC";</wbr>
<wbr>$result = $DB-&gt;query( $sql);</wbr>
<wbr>while ($rows =$DB-&gt;fetch_array($result))<wbr></wbr></wbr>
<wbr>{</wbr>
<wbr>$category_array[$rows[categoryParentID]][$rows[categoryID]]= array('id' =&gt; $rows[categoryID], 'parent'=&gt; $rows[categoryParentID], 'name' =&gt;$rows</wbr>


[categoryName]);
<wbr>}</wbr>
<wbr>if(!isset($category_array[$category_id]))</wbr>
<wbr>{</wbr>
<wbr>return "";</wbr>
<wbr>}</wbr>
<wbr>foreach($category_array[$category_id] AS$key =&gt; $category)</wbr>
<wbr>{<wbr></wbr></wbr>
<wbr>if ($category['id'] ==$default_category)</wbr>
<wbr>{</wbr>
<wbr>echo "&lt;option selectedvalue=".$category['id']."";</wbr>
<wbr>}else</wbr>
<wbr>{</wbr>
<wbr>echo "&lt;optionvalue=".$category['id']."";</wbr>
<wbr>}</wbr>


<wbr>if ($level &gt; 0)</wbr>
<wbr>{</wbr>
<wbr>echo "&gt;" . str_repeat( " ",$level ) . " " . $category['name'] ."&lt;/option&gt;/n";</wbr>
<wbr>}</wbr>
<wbr>else</wbr>
<wbr>{</wbr>
<wbr>echo "&gt;" . $category['name']. "&lt;/option&gt;/n";</wbr>
<wbr>}</wbr>
<wbr>Get_Category($key, $level + 1,$default_category);</wbr>
<wbr>}</wbr>
<wbr>unset($category_array[$category_id]);</wbr>
}


//指定分类id,然后返回数组
function Category_array($category_id = 0,$level=0)
{
<wbr>global $DB;</wbr>
<wbr>$sql = "SELECT * FROM category ORDER BYcategoryID DESC";</wbr>
<wbr>$result =$DB-&gt;query($sql);</wbr>
<wbr>while ($rows =$DB-&gt;fetch_array($result))</wbr>
<wbr>{</wbr>
<wbr>$category_array[$rows['categoryParentID']][$rows['categoryID']]= $rows;</wbr>
<wbr>}</wbr>


<wbr>foreach ($category_array AS$key=&gt;$val)</wbr>
<wbr>{</wbr>
<wbr>if ($key == $category_id)</wbr>
<wbr>{</wbr>
<wbr>foreach ($val AS $k=&gt;$v)</wbr>
<wbr>{</wbr>
<wbr>$options[$k] =</wbr>
<wbr>array(</wbr>
<wbr>'id' =&gt; $v['categoryID'],'name' =&gt; $v['categoryName'], 'level'=&gt; $level,'ParentID'=&gt;$v['categoryParentID']</wbr>
<wbr>);</wbr>


<wbr>$children = Category_array($k,$level+1);</wbr>


<wbr>if (count($children) &gt;0)</wbr>
<wbr>{</wbr>
<wbr>$options = $options + $children;</wbr>
<wbr>}</wbr>
<wbr>}</wbr>
<wbr>}</wbr>
<wbr>}</wbr>
<wbr>unset($category_array[$category_id]);</wbr>
<wbr>return $options;</wbr>
}


?>


<wbr></wbr>


<?php


class cate
{


<wbr><wbr><wbr><wbr> function Get_Category($category_id = 0,$level =0, $default_category = 0)</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> {</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>echo $category_id;</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>$arr = array(</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> '0' =&gt; array(</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>'1'=&gt; array('id' =&gt; 1, 'parent'=&gt; 0, 'name' =&gt; '1111'),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>'2'=&gt; array('id' =&gt; 2, 'parent'=&gt; 0, 'name' =&gt; '2222'),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '4' =&gt;array('id' =&gt; 4, 'parent' =&gt; 0,'name' =&gt; '4444') <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> '1' =&gt; array(</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '3'=&gt; array('id' =&gt; 3, 'parent'=&gt; 1, 'name' =&gt; '333333'),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '5' =&gt;array('id' =&gt; 5, 'parent' =&gt; 1,'name' =&gt; '555555') <wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> '3' =&gt; array(</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '6' =&gt;array('id' =&gt; 6, 'parent' =&gt; 3,'name' =&gt; '66666'),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '7' =&gt;array('id' =&gt; 7, 'parent' =&gt; 3,'name' =&gt; '77777')</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> '4' =&gt; array(</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '8' =&gt;array('id' =&gt; 8, 'parent' =&gt; 4,'name' =&gt; '8888'),</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> '9' =&gt;array('id' =&gt; 9, 'parent' =&gt; 4,'name' =&gt; '9999')</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ) <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>);</wbr></wbr></wbr></wbr></wbr></wbr></wbr>


<wbr><wbr><wbr><wbr><wbr><wbr><wbr>if (!isset($arr[$category_id]))</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> return "";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>foreach($arr[$category_id] AS $key=&gt; $cate)</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if($cate['id'] == $default_category)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$txt = "&lt;optionselected value=".$cate['id']."";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$txt = "&lt;optionvalue=".$cate['id']."";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>if ($level&gt; 0)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> $txt1 = "&gt;" . str_repeat( "-",$level ) . " " . $cate['name'] ."&lt;/option&gt;/n";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}else{</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$txt1 = "&gt;" .$cate['name'] . "&lt;/option&gt;/n";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>$val =$txt.$txt1;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>echo$val;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>self::Get_Category($key, $level + 1,$default_category);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> function getFlush($category_id = 0,$level = 0,$default_category = 0)</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> {</wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>ob_start();</wbr></wbr></wbr></wbr></wbr></wbr>


<wbr><wbr><wbr><wbr><wbr><wbr>self::Get_Category($category_id ,$level, $default_category);</wbr></wbr></wbr></wbr></wbr></wbr>


<wbr><wbr><wbr><wbr><wbr><wbr> $out =ob_get_contents();</wbr></wbr></wbr></wbr></wbr></wbr>


<wbr><wbr><wbr><wbr><wbr><wbr>ob_end_clean();</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> return$out;</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> } <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
}
$id =$_GET['id'];
echo "<select>";
$c = new cate();
//$c->Get_Category();
$ttt=<wbr>$c-&gt;getFlush($id,'0','3');</wbr>
echo $ttt;
echo "</select>";
?>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-359395-1-1.html 上篇帖子: php集成开发环境Wampserver5中安装PEAR 下篇帖子: PHP ORM框架ezpdo(2)之EZPDOSQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表