<?
$str1 = null;
$str2 = false;
echo $str1==$str2 ? ‘相等’ : ‘不相等’;
$str3 = ”;
$str4 = 0;
echo $str3==$str4 ? ‘相等’ : ‘不相等’;
$str5 = 0;
$str6 = ‘0′;
echo $str5===$str6 ? ‘相等’ : ‘不相等’;
?>
2. 写出如下程序的输出结果
<?
$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. 写出如下程序的输出结果
<?
$test = ‘aaaaaa’;
$abc = & $test;
unset($test);
echo $abc;
?>
4. 写出如下程序的输出结果
<?$count = 5;
function get_count(){
static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
?>
5. 写出如下程序的输出结果
<?
$GLOBALS['var1'] = 5;
$var2 = 1;
function get_value(){
global $var2;
$var1 = 0;
return $var2++;
}
get_value();
echo $var1;
echo $var2;
?>
6. 写出如下程序的输出结果
<?
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内置函数
【附答案】(以下答案不一定是最好的,只是一个简单的参考)
一、基础题
1. 相等 相等 不相等
2. true true true true true false true false
3. aaaaaa
4. 5 0 1
5. 5 2
6. 1 2
7. 使用五种以上方式获取一个文件的扩展名
function get_ext1($file_name){
return strrchr($file_name, ‘.’);
}
function get_ext2($file_name){
return substr($file_name, strrpos($file_name, ‘.’));
}
function get_ext3($file_name){
return array_pop(explode(‘.’, $file_name));
}
function get_ext4($file_name){
$p = pathinfo($file_name);
return $p['extension'];
}
function get_ext5($file_name){
return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), ‘.’)));
}
二、算法题
1. 使用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);
}
2. 使用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;
}
}
3. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
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;
}
考的很基础,但基础不牢,有一批不会做。像在HTTP 1.0中,状态码 401 的含义,error_reporting(2047)这些不知道。但用2047似乎有点儿变态,太不易读。
如果可以参考手册~~~~
* 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的URL记录在预定义变量(2)中。
2.执行程序段<?php echo 8%(-2) ?>将输出(3)。
3.在HTTP 1.0中,状态码 401 的含义是(4);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(5)。
4.数组函数 arsort 的作用是(6);语句 error_reporting(2047)的作用是(7)。
5.PEAR中的数据库连接字符串格式是(8)。
6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把script标记及其内容都去掉):(9)。
7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,
然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
8.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替它们。
9.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是(14)。
10.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on.
11.SQL 中LEFT JOIN的含义是(16)。
如果 tbl_user记录了学生的姓名(name)和学号(ID),
tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),
要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句(17)。
12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。
13.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
14.简述论坛中无限分类的实现原理。
15.设计一个网页,使得打开它时弹出一个全屏的窗口,该窗口中有一个文本框和一个按钮。用户在文本框中输入信息后点击按钮就可以把窗口关闭,而输入的信息却在主网页中显示。
//答案(填空):
1. echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];
2. 0
3. (4)未授权 (5) header(“HTTP/1.0 404 Not Found”);
4. (6)对数组进行逆向排序并保持索引关系 (7)All errors and warnings
5. 没弄明白
6. /<script[^>].*?>.*?<\/script>/si
7.(10) LoadModule php5_module “D:/xampp
/apache/bin/php5apache2.dll”
(11) AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml
8.(12) 发生异常时include产生警告require产生致命错误 (13) require_once()/include_once()
9. serialize() /unserialize()
10. allow_call_time_pass_reference
11. (16) 自然左外连接
(17) select name , count(score) as sum_score from tbl_user left join
tbl_score on tbl_user.ID=tbl_score.ID group by tbl_user.ID
12. 结束标识符所在的行不能包含任何其它字符除”;”
13.
/**
* 遍历目录,结果存入数组。支持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;
}
}
<script title="javascript" src="http://old.blags.cn/old/PLUGIN/copytofriends/copy.js" type="text/<a href="><!-- javascript</a>"> // --></script>
相关推荐
### PHP面试题及答案解析 #### 一、打印前一天的时间 **题目**: 使用PHP打印出前一天的时间,格式为“2006-5-10 22:21:21”。 **解答**: 正确的代码如下: ```php echo date("Y:m:d H:i:s", strtotime("-1 day"))...
### PHP开发工程师经典面试题解析 #### 一、HTTP状态码与Header函数 **题目:** 在HTTP1.0中,状态码401的含义是什么?如果返回“找不到文件”的提示,可以使用哪个Header函数? - **401状态码含义:** 401状态码...
### 一、基础知识 #### 1.... - **GET**:将表单数据附加到URL之后,以问号分隔并在浏览器的地址栏中可见。...以上是对给定文件中PHP面试题的详细解答和解释,涵盖了基础知识、简答题以及一些高级概念。
PHP 面试题解析 PHP 是一种广泛应用于 Web 开发的编程语言, PHP 程序员需要具备扎实的编程基础和丰富的实践经验。本文将通过六个问题,对 PHP 程序员面试题进行解析,涵盖了 PHP 的基础知识、错误处理、正则表达式...
【PHP面试题详解】 1. **数组添加元素** - `$users[] = 'john';` 是正确的添加方式,将'john'追加到数组末尾。 - `array_add($users,'john')` 并非PHP内置函数,是错误的。 - `array_push($users,'john');` 也会...
这份"PHP面试题系列【附答案】"的资源无疑是初学者和准备面试者的重要参考资料。以下是对其中可能涵盖的知识点的详细阐述: 1. **基础语法**:面试中经常出现的基础问题包括变量声明、数据类型(例如标量类型、数组...
文档名称:PHP面试题目录:【】46种常见的浏览器兼容性问题大汇总【】php_kecheng_liucheng_bg【】PHP学习路线图【】PHP经典面试题(基础型)附答案【】PHP面试题(一)【】PHP面试题【】PHP面试题【】php面试题【】php...
#### 面试题一:GET与POST的区别 ...GET方法将数据附在URL后面,...掌握这些PHP面试题及其答案,不仅能帮助求职者在面试中脱颖而出,还能加深对PHP语言特性和Web开发基础知识的理解,从而在实际项目开发中更加得心应手。
09.PHP经典面试题(基础型)附答案
PHP 程序员面试题(B卷附答案) 以下是从给定的文件中生成的知识点: 1. PHP 数组操作: * `array_add()` 函数不存在,需要使用 `array_push()` 函数来添加元素到数组。 * `sort()`、`asort()`、`ksort()` 函数的...
PHP 面试编程题 PHP 面试编程题是 PHP 开发者面试时的一些常见问题,涵盖了 PHP 基础知识、算法和数据结构等方面。下面将对每个问题进行详细的解释和分析: 一、基础题 1. 写出如下程序的输出结果 $str1 = null;...
在PHP编程语言中,面试题通常涵盖了许多核心概念和技术,以评估候选人的技能和知识水平。以下是基于给定文件的部分内容解析的一些关键知识点: 1. **传值与传引用的区别**: - 传值是将一个变量的值复制给另一个...
【PHP程序员面试题解析】 1. PHP中向数组添加元素的方法: 在PHP中,有多种方式向数组添加元素。`$users[] = 'john';`是正确的语法,它会将'john'追加到数组末尾。而`array_push($users, 'john');`同样有效,它...
在Apache服务器上配置PHP,需要在http.conf文件中加载PHP模块,使用`LoadModule`指令,如`LoadModule php5_module "c:/php/php5apache2.dll"`,然后使用`AddType`指令处理.php文件,如`AddType application/x-httpd-...
【PHP基础面试题详解】 1. **打印前一天时间** PHP中可以使用`strtotime`函数配合`date`函数来获取前一天的时间。例如: ```php echo date('Y-m-d H:i:s', strtotime('-1 day')); ``` 或者通过计算当前时间戳...
网络上找到的php面试题集锦希望对大家有用! <script>alert('haha');</script>
php面试题第二弹 <script>alert('xixi');</script>
这份“php程序员面试题(c卷 附答案).pdf”文档显然是为准备PHP开发者面试的人提供的一份宝贵资源。下面,我们将深入探讨其中涉及的一些关键知识点。 1. **传值与传引用的区别**: - **传值**:当一个变量的值被...
PHP,全称为“Hypertext Preprocessor”,是一种广泛应用于网页开发的开源脚本语言。它以其易学易用、灵活性高、性能优异的特点,成为构建动态网站和Web应用程序的首选工具之一。PHP的设计目标是让开发者能够快速地...