php面试题大全(二)

来源:互联网 发布:ajax servlet mysql 编辑:程序博客网 时间:2024/05/21 17:58

31、下面哪个选项没有将 john 添加到users 数组中? (1分)

  (a) $users[]= ‘john’;

 (b) array_add($users,john);

  (c)array_push($users,‘john’);

  (d) $users ||= john

 

32、下面的程序会输入是否?(1分)

  $num = 10;

  functionmultiply(){

  $num = $num* 10;

  }

  multiply();

  echo $num;

  ?>

    输出:10

 正确

33、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)

  表名User

  Name TelContent 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);

    $result = mysql_query("SELECT * FROM`user` WHERE name='张三'");

    while($rs = mysql_fetch_array($result)){

      echo$rs["tel"].$rs["content"].$rs["date"];

    }   

 

34、如何使用下面的类,并解释下面什么意思?(3)

  class test{

    function Get_test($num){

      $num=md5(md5($num)."En");

      return $num;

   }

  }

:$testnum = "123";

   $object = new test();

   $encrypt = $object->Get_test($testnum);

   echo $encrypt;

   test里面包含Get_test方法,实例化类调用方法多字符串加密

 

35、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)

  表名User

  Name TelContent Date

  张三13333663366 大专毕业2006-10-11

  张三13612312331 本科毕业2006-10-15

  张四021-55665566 中专毕业2006-10-15

  (a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中

    mysql_query("INSERT INTO `user` (name,tel,content,date)VALUES

    ('小王','13254748547','高中毕业','2007-05-06')")

 

  (b) 请用sql语句把张三的时间更新成为当前系统时间

    $nowDate = date("Ymd");

    mysql_query("UPDATE `user` SETdate='".$nowDate."' WHERE name='张山'");

 

  (c) 请写出删除名为张四的全部记录

    mysql_query("DELETE FROM `user` WHERE name='张四'");

 

36、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)

:int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串

   char的场地固定为创建表设置的长度,varchar为可变长度的字符

 

38、写出以下程序的输出结果 (1分)

  $b=201;

  $c=40;

   $a=$b>$c?4:5;

  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可以和sqlserver/oracle等数据库连接吗?(1分)

:当然可以

 

45、请写出PHP5权限控制修饰符(3分)

:public(公共),private(私用),protected(继承)

 

46、请写出php5的构造函数和析构函数(2分)

:__construct , __destruct

 

47、完成以下:

   (一)创建新闻发布系统,表名为message有如下字段 (3分)

  id 文章id

  title 文章标题

  content 文章内容

  category_id 文章分类id

   hits 点击量

:CREATE TABLE 'message'(

   'id' int(10) NOT NULL auto_increment,

   'title' varchar(200) default NULL,

   'content' text,

   'category_id' int(10) NOT NULL,

   'hits' int(20),

   PRIMARY KEY('id');

   )ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

    (二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下 (4分)

  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,

   IF(comment.`id` is NULL,0,count(*)) numberFROM message LEFT JOIN

   comment ON message.id=comment.id GROUP BYmessage.`id`;

 

  (三)上述内容管理系统,表category保存分类信息,字段如下 (3分)

  category_idint(4) not null auto_increment;

  categroy_namevarchar(40) not null;

  用户输入文章时,通过选择下拉菜单选定文章分类

  写出如何实现这个下拉菜单

:function categoryList()

{

    $result=mysql_query("selectcategory_id,categroy_name from category")

            or die("Invalid query: ". mysql_error());

    print("<select name='category'value=''>\n");

    while($rowArray=mysql_fetch_array($result))

    {

       print("<optionvalue='".$rowArray['category_id']."'>".$rowArray['categroy_name']."</option>\n");

    }

    print("</select>");

}

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。


原创粉丝点击