php基础强化之面试题展示-WEB开发网
您的位置:网站主页> PHP教程> PHP面试题集合 > php基础强化之面试题展示

php基础强化之面试题展示

时间:2014-11-26 09:36:36   编辑:一切随缘   文章来源:php教程网 已阅读:1794 次

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 、写出下列代码的结果 : <?php $a="Hello World!"; $b=$a; print("/$b=$b<br>"); print('$a=$a<br>'); ?>

$b=Hello World!<br>$a=$a<br>


7 、写出下列代码输出结果 : <?php $a="First"; $b=&$a; $c=$a; $a="Second"; print("$a,$b,$c<br>"); ?>

Second,Second,First<br>

 

8 、写出下列代码输出结果 : <?php $a=2; $b="1.2SBC3"; $c="EFG"; $result1=$a.$b; $result2=$a*$b; $result3=$a*$c; print("$result1,$result2,$result3 <br>"); ?>

21.2SBC3,2.4,0<br>


9 、找出下列代码中的错误并修正 : <?php $a[0]=""Ryan; $b["value"]=785.9; $c["blue"][0]="Ada"; print("$a[0],$b["value"],$c["blue"][0] <br>"); ?>

 <?php $a[0]="Ryan"; $b["value"]=785.9; $c["blue"][0]="Ada"; print("$a[0]"."$b[value]"."{$c[blue][0]}"."<br>"); ?>

 

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标记及其内容都去掉)

/<script[^>].*?>.*?<//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<count($array); $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 <?php function fa() { echo “in Function A/n”; }?> b.php: <?php include ‘a.php’; ?> <?php function fb() { fa(); echo “in Function B/n”; } ?> c.php: <?php include ‘a.php’; ?> <?php include ‘b.php’; ?> <?php fa(); fb(); ?> 使用浏览器访问 c.php,请问是否存在问题。如果存在问题,请指出修正方法并写出浏览器查看效果如果不存在问题,请写出浏览器查看效果

 

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

本文地址:http://www.php186.com/content/article/ms/23603.html(转载请保留)

相关关键词搜索:php基础强化之面试题展示

查看评论更多>>
4楼 liujian 2015-04-21 17:34发表
好网站,值得收藏,以后会多多来看,很多文章内容都挺好的!
3楼 niulang 2015-04-21 17:33发表
不论国外,单是我们中国,各种各样的网站数不胜数。打开页面第一个看到的不是你的网站有什么,而是你的整体布局,一个清爽、干净、整洁的页面是一个赢得人心的法宝,大站有大站的气势,小站有小站的风格,好的视觉效果可以告诉人们这个站点有实力,这个站点值得信赖,给人很强的亲和力,有一种发现新宝地,希望赶紧收藏的冲动。
2楼 leenons 2015-04-21 17:28发表
现在看php学习网都会在百度上面找找看评分怎么样,值不值得一看;同时也会将看过的php教程网站记录,有时候留下一些自己的感想的评论,有很多逗比的评论,还有很多专业的评论,建议大家可以在web开发网上面寻找相关文章、api,大部分的内容都还合理。
1楼 xiaobudian 2015-04-21 17:25发表
网站文章挺不错的,值得学习,希望站长多多努力!
发表评论
      
* 以上用户言论只代表其个人观点,不代表www.php186.com网站的观点或立场
推荐文档更多

WEB开发网 | PHP教程 | Mysql教程 | Apache教程 | 最新文章 | PHP面试题| 网站地图 | Google地图 | Baidu地图 | 在线WEB论坛| 中纪委反腐最新消息

WEB技术QQ交流群:151888886 站长Q号:547218888
版权所有者:WEB开发网 地址:云南省文山州砚山县盘龙乡 滇ICP备12002707号-1
特别声明:本站内容仅供参考,不作为设计及确切依据!想了解更多,可立即进入Bbs提问