最新的PHP面试题及答案
无论是身处学校还是步入社会,我们都不可避免地会接触到试题,试题是学校或各主办方考核某种知识才能的标准。相信很多朋友都需要一份能切实有效地帮助到自己的试题吧?以下是小编为大家收集的最新的PHP面试题及答案,仅供参考,希望能够帮助到大家。

最新的PHP面试题及答案 1
1
include和require有什么区别?
答:区别在于他们如何处理失败, 如果require的文件没有找到, 会造成fatal error,脚本停止执行,如果include的'文件没有找到, 会显示警告,但是脚本会继续执行。
2
给一个变量赋值为0123,但是输出该变量的值总是为其他数字,请问这是什么问题?
答: PHP 解释器会把以0开始的数字当做是八进制的,所以它的值会变成八进制的。
3
PHP里面如何定义一个常量(constant)?
答: 通过define()指令,例如:define(“MYCONSTANT”, 100)。
4
如何对一个变量进行值传递?
答: 可以像C++那样, 在变量的前面加上&, 例如:$a = &$b。
5
在PHP里面可以对string “10″ 和整型 11进行比较吗?
答: 可以,PHP内部实现会把所有东西转换成整型,所以数字10和11可以进行比较。
6
在什么情况下需要用endif 来结束条件语句?
答: 当if语句后面跟的是冒号”:”而不是大括号{时,需要用endif来结束条件语句。
7
要求写一段程序,实现以下数组$arr1转换成数组$arr2:
答:$arr1 = array (
‘0′ => array (‘fid’ => 1, ‘tid’ => 1, ‘name’ =>’Name1′ ),
‘1′ => array (‘fid’ => 1, ‘tid’ => 2 , ‘name’ =>’Name2′ ),
‘2′ => array (‘fid’ => 1, ‘tid’ => 5 , ‘name’ =>’Name3′ ),
‘3′ => array (‘fid’ => 1, ‘tid’ => 7 , ‘name’ =>’Name4′ ),
‘4′ => array (‘fid’ => 3, ‘tid’ => 9, ‘name’ =>’Name5′ )
);
$arr2 = array (
‘0′ => array (
‘0′ => array ( ‘tid’ => 1, ‘name’ => ‘Name1′),
‘1′ => array ( ‘tid’ => 2, ‘name’ => ‘Name2′),
‘2′ => array ( ‘tid’ => 5, ‘name’ => ‘Name3′),
‘3′ => array ( ‘tid’ => 7, ‘name’ => ‘Name4′) ),
‘1′ => array (
‘0′ => array ( ‘tid’ => 9, ‘name’ => ‘Name5′ ) ) );
$arr1 = array (
‘0′ => array (‘fid’ => 1, ‘tid’ => 1, ‘name’ =>’Name1′ ),
‘1′ => array (‘fid’ => 1, ‘tid’ => 2 , ‘name’ =>’Name2′ ),
‘2′ => array (‘fid’ => 1, ‘tid’ => 5 , ‘name’ =>’Name3′ ),
‘3′ => array (‘fid’ => 1, ‘tid’ => 7 , ‘name’ =>’Name4′ ),
‘4′ => array (‘fid’ => 3, ‘tid’ => 9, ‘name’ =>’Name5′ )
);
function changeArrayStyle($arr){
foreach($arr as $key=>$value){
$result[$value[fid]][]=$value;
}
return array_values($result);
}
$arr2=changeArrayStyle($arr1);
echo “
”;
var_dump($arr2);
最新的PHP面试题及答案 2
精选php面试题及答案
一、基础题
1. 写出如下程序的输出结果
<?php $str1 = null;
$str2 = false;echo $str1==$str2 ? 相等 : 不相等;
$str3 = ;
$str4 = 0;
echo $str3==$str4 ? 相等 : 不相等;
$str5 = 0;
$str6 = 0;
echo $str5===$str6 ? 相等 : 不相等;
2. 写出如下程序的.输出结果
<?php $a1 = null;
$a2 = false;$a3 = 0;
$a4 = ;
$a5 = 0;
$a6 = null;
$a7 = array();
$a8 = array(array());
echo empty($a1) ? true : false;
echo empty($a2) ? true : false;
echo empty($a3) ? true : false;
echo empty($a4) ? true : false;
echo empty($a5) ? true : false;
echo empty($a6) ? true : false;
echo empty($a7) ? true : false;
echo empty($a8) ? true : false;
3. 写出如下程序的输出结果
<?php $test = aaaaaa;
$abc = & $test;unset($test);
echo $abc;
4. 写出如下程序的输出结果
<?php $count = 5;
function get_count(){static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
5. 写出如下程序的输出结果
<?php $GLOBALS[var1] = 5;
$var2 = 1;function get_value(){
global $var2;
$var1 = 0;
return $var2++;
}
get_value();
echo $var1;
echo $var2;
6. 写出如下程序的输出结果
<?php function get_arr($arr){
unset($arr[0]);}
$arr1 = array(1, 2);
$arr2 = array(1, 2);
get_arr(&$arr1);
get_arr($arr2);
echo count($arr1);
echo count($arr2);
7. 使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)
二、算法题
1. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
2. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数【答案】
(以下答案不一定是最好的,只是一个简单的参考)
