比较基础的php面试题及答案-填空题

时间:2023-04-05 10:34:44 笔试题目 我要投稿
  • 相关推荐

比较基础的php面试题及答案-填空题

  填空题:

比较基础的php面试题及答案-填空题

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

  中

  2.执行程序段将输出__0__。

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

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

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

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

  7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

  LoadModule php5_module “c:/php/php5apache2.dll” , AddType application/x-httpd-php .php,

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

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

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

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

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

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

  编程题:

  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;

  }

  }

  14.简述论坛中无限分类的实现原理。

  答:

  /*

  数据表结构如下:

  CREATE TABLE `category` (

  `categoryID` smallint(5) unsigned NOT NULL auto_increment,

  `categoryParentID` smallint(5) unsigned NOT NULL default ’0′,

  `categoryName` varchar(50) NOT NULL default ”,

  PRIMARY KEY (`categoryID`)

  ) ENGINE=MyISAM DEFAULT CHARSET=gbk;

  INSERT INTO `category` ( `categoryParentID`, `categoryName`) VALUES

  (0, ‘一级类别’),

  (1, ‘二级类别’),

  (1, ‘二级类别’),

  (1, ‘二级类别’),

  (2, ‘三级类别’),

  (2, ’333332′),

  (2, ’234234′),

  (3, ‘aqqqqqd’),

  (4, ‘哈哈’),

  (5, ’66333666′);

  */

  //指定分类id变量$category_id,然后返回该分类的所有子类

  //$default_category为默认的选中的分类

  function Get_Category($category_id = 0,$level = 0, $default_category = 0)

  {

  global $DB;

  $sql = “SELECT * FROM category ORDER BY categoryID DESC”;

  $result = $DB->query( $sql );

  while ($rows = $DB->fetch_array($result))

  {

  $category_array[$rows[categoryParentID]][$rows[categoryID]] = array(‘id’ => $rows[categoryID], ‘parent’ => $rows[categoryParentID], ‘name’ => $rows

  [categoryName]);

  }

  if (!isset($category_array[$category_id]))

  {

  return “”;

  }

  foreach($category_array[$category_id] AS $key => $category)

  {

  if ($category['id'] == $default_category)

  {

  echo “\n”;

  }

  else

  {

  echo “>” . $category['name'] . “\n”;

  }

  Get_Category($key, $level + 1, $default_category);

  }

  unset($category_array[$category_id]);

  }

  /*

  函数返回的数组格式如下所示:

  Array

  (

  [1] => Array ( [id] => 1 [name] => 一级类别 [level] => 0 [ParentID] => 0 )

  [4] => Array ( [id] => 4 [name] => 二级类别 [level] => 1 [ParentID] => 1 )

  [9] => Array ( [id] => 9 [name] => 哈哈 [level] => 2 [ParentID] => 4 )

  [3] => Array ( [id] => 3 [name] => 二级类别 [level] => 1 [ParentID] => 1 )

  [8] => Array ( [id] => 8 [name] => aqqqqqd [level] => 2 [ParentID] => 3 )

  [2] => Array ( [id] => 2 [name] => 二级类别 [level] => 1 [ParentID] => 1 )

  [7] => Array ( [id] => 7 [name] => 234234 [level] => 2 [ParentID] => 2 )

  [6] => Array ( [id] => 6 [name] => 333332 [level] => 2 [ParentID] => 2 )

  [5] => Array ( [id] => 5 [name] => 三级类别 [level] => 2 [ParentID] => 2 )

  [10] => Array ( [id] => 10 [name] => 66333666 [level] => 3 [ParentID] => 5 )

  )

  */

  //指定分类id,然后返回数组

  function Category_array($category_id = 0,$level=0)

  {

  global $DB;

  $sql = “SELECT * FROM category ORDER BY categoryID DESC”;

  $result = $DB->query($sql);

  while ($rows = $DB->fetch_array($result))

  {

  $category_array[$rows['categoryParentID']][$rows['categoryID']] = $rows;

  }

  foreach ($category_array AS $key=>$val)

  {

  if ($key == $category_id)

  {

  foreach ($val AS $k=> $v)

  {

  $options[$k] =

  array(

  ‘id’ => $v['categoryID'], ‘name’ => $v['categoryName'], ‘level’ => $level, ‘ParentID’=>$v['categoryParentID']

  );

  $children = Category_array($k, $level+1);

  if (count($children) > 0)

  {

  $options = $options + $children;

  }

  }

  }

  }

  unset($category_array[$category_id]);

  return $options;

  }

  ?>

  class cate

  {

  function Get_Category($category_id = 0,$level = 0, $default_category = 0)

  {

  echo $category_id;

  $arr = array(

  ’0′ => array(

  ’1′ => array(‘id’ => 1, ‘parent’ => 0, ‘name’ => ’1111′),

  ’2′ => array(‘id’ => 2, ‘parent’ => 0, ‘name’ => ’2222′),

  ’4′ => array(‘id’ => 4, ‘parent’ => 0, ‘name’ => ’4444′)

  ),

  ’1′ => array(

  ’3′ => array(‘id’ => 3, ‘parent’ => 1, ‘name’ => ’333333′),

  ’5′ => array(‘id’ => 5, ‘parent’ => 1, ‘name’ => ’555555′)

  ),

  ’3′ => array(

  ’6′ => array(‘id’ => 6, ‘parent’ => 3, ‘name’ => ’66666′),

  ’7′ => array(‘id’ => 7, ‘parent’ => 3, ‘name’ => ’77777′)

  ),

  ’4′ => array(

  ’8′ => array(‘id’ => 8, ‘parent’ => 4, ‘name’ => ’8888′),

  ’9′ => array(‘id’ => 9, ‘parent’ => 4, ‘name’ => ’9999′)

  )

  );

  if (!isset($arr[$category_id]))

  {

  return “”;

  }

  foreach($arr[$category_id] AS $key => $cate)

  {

  if ($cate['id'] == $default_category)

  {

  $txt = “\n”;

  }else{

  $txt1 = “>” . $cate['name'] . “\n”;

  }

  $val = $txt.$txt1;

  echo $val;

  self::Get_Category($key, $level + 1, $default_category);

  }

  }

  function getFlush($category_id = 0,$level = 0, $default_category = 0)

  {

  ob_start();

  self::Get_Category($category_id ,$level, $default_category);

  $out = ob_get_contents();

  ob_end_clean();

  return $out;

  }

  }

  $id =$_GET['id'];

  echo “”;

  ?>

【比较基础的php面试题及答案-填空题】相关文章:

模拟电子技术基础填空题及答案03-29

腾讯php程序员面试题目及答案08-03

计算机应用基础试题及答案「填空题」11-30

PHP基础笔试题12-10

 PHP的基础编程与应用04-01

关于PHP面试题的分享11-20

PHP笔试题及答案02-11

华为工程师通信基础面试题及答案11-06

PHP入门基础教程大全03-10

PHP笔试题含答案02-11