强化基础PHP试题(一)

近来为了公司内部项目要学习PHP,今天是我接触PHP的第3天~

用试题把关键知识强化一下~

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

 

2、数组函数 arsort 的作用是[①];语句 error_reporting(2047)的作用是[②]

[1]对数组进行逆向排序并保持索引关系 [2]All errors and warnings

 

3、以Apache模块的方式安装PHP,在文件http.conf中首先要用语句[①]动态装载PHP模块, 然后再用语句[②]使得Apache把所有扩展名为php的文件都作为PHP脚本处理。 [1]LoadModule php5_module "php5apache2.so" [2]AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

 

4、一个函数的参数不能是对变量的引用,除非在php.ini中把[①]设为on

[1]allow_call_time_pass_reference

 

5、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须[①]

结束标识符所在的行不能包含任何其它字符除";"

 

 

6 、写出下列代码的结果 : "); print('$a=$a
'); ?>

$b=Hello World!
$a=$a


7 、写出下列代码输出结果 : "); ?>

Second,Second,First


8 、写出下列代码输出结果 : "); ?>

21.2SBC3,2.4,0


9 、找出下列代码中的错误并修正 : "); ?>

 "); ?>

 

10、试述isset()和empty()的区别

isset() 测试变量是否存在 empty() 测试变量是否为空

 

11、请用尽可能少的语句实现对输入Email地址进行验证的功能

eregi('^[_a-z0-9]+(/.[_a-z0-9-]+)*@[a-z0-9]+(/.[a-z0-9-]+)*$',$emailaddress)

 

12、写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉)

/].*?>.*?/si

 

13、语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是什么?如何避免同一文件被多次加载?

1.发生异常时include产生警告require产生致命错误 2.require_once()/include_once()

 

14、类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是哪些?

serialize() /unserialize()

 

15、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

/**
* 遍历目录,结果存入数组。支持php4及以上。php5以后可用scandir()函数代替while循环。
* @param string $dir
* @return array
*/
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] = rec_scandir($dir . “/” . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}

 

16、使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组

/冒泡排序(数组排序)
function bubble_sort($array)
{
$count = count($array);
if ($count <= 0) return false;

for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$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 = $array[0];
$left_arr = array();
$right_arr = array();

for ($i=1; $i if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}

$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);

return array_merge($left_arr, array($key), $right_arr);
}

 

17、使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

 

//二分查找(数组里查找某个元素)
function bin_sch($array, $low, $high, $k){
if ($low <= $high){
$mid = intval(($low+$high)/2);
if ($array[$mid] == $k){
return $mid;
}elseif ($k < $array[$mid]){
return bin_sch($array, $low, $mid-1, $k);
}else{
return bin_sch($array, $mid+1, $high, $k);
}
}
return -1;
}

//顺序查找(数组里查找某个元素)
function seq_sch($array, $n, $k){
$array[$n] = $k;
for($i=0; $i<$n; $i++){
if($array[$i]==$k){
break;
}
}
if ($i<$n){
return $i;
}else{
return -1;
}
}

 

18、写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

function array_sort($arr, $keys, $order=0) {
if (!is_array($arr)) {
return false;
}
$keysvalue = array();
foreach($arr as $key => $val) {
$keysvalue[$key] = $val[$keys];
}
if($order == 0){
asort($keysvalue);
}else {
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalue as $key => $vals) {
$keysort[$key] = $key;
}
$new_array = array();
foreach($keysort as $key => $val) {
$new_array[$key] = $arr[$val];
}
return $new_array;
}

 

19、提交了一个有8MB数据的表单,但程序只接收到4MB数据,可能的原因有哪些?

php.ini 2项设置

 

20、echo(),print(),print_r()的区别

echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print只能打印出简单类型变量的值(如int,string) print_r可以打印出复杂类型变量的值(如数组,对象)

 

21、如何获得访问者IP

$_SERVER['REMOTE_ADDR'];

 

22、utf-8转换成gbk的函数是?

iconv("gbk",""UTF-8,"我们"); mb_convert_encoding($str, "GBK", "UTF-8")

 

23、hp中分割字符串成数组的函数和连接数组成字符串的函分别有哪些?

explode() split() ;implode() join()

 

24、有三个php文件位于同一目录下,内容为 a.php b.php: c.php: 使用浏览器访问 c.php,请问是否存在问题。如果存在问题,请指出修正方法并写出浏览器查看效果如果不存在问题,请写出浏览器查看效果

 

开启错误输出的情况 ERROR:function already defined 未开启,白页 include换成include_once

你可能感兴趣的:(PHP)