- 最新PHP技術(shù)筆試練習(xí)題 推薦度:
- 相關(guān)推薦
PHP筆試練習(xí)題
積累知識(shí),勝過(guò)積蓄金銀。以下是小編為大家搜索整理的PHP筆試練習(xí)題,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1. 寫(xiě)出如下程序的輸出結(jié)果
$str1 = null;
$str2 = false;
echo $str1==$str2 ? '相等' : '不相等';
$str3 = '';
$str4 = 0;
echo $str3==$str4 ? '相等' : '不相等';
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? '相等' : '不相等';
?>
2. 寫(xiě)出如下程序的輸出結(jié)果
$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. 寫(xiě)出如下程序的輸出結(jié)果
$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;
?>
4. 寫(xiě)出如下程序的輸出結(jié)果
function get_count(){
static $count = 0;
return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();
?>
5. 寫(xiě)出如下程序的輸出結(jié)果
$GLOBALS['var1'] = 5;
$var2 = 1;
function get_value(){
global $var2;
$var1 = 0;
return $var2++;
}
get_value();
echo $var1;
echo $var2;
?>
6. 寫(xiě)出如下程序的輸出結(jié)果
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. 使用五種以上方式獲取一個(gè)文件的擴(kuò)展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必須使用PHP自帶的處理函數(shù)進(jìn)行處理,方法不能明顯重復(fù),可以封裝成函數(shù),比如 get_ext1($file_name), get_ext2($file_name)
二、算法題
1. 使用PHP描述冒泡排序和快速排序算法,對(duì)象可以是一個(gè)數(shù)組
2. 使用PHP描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對(duì)象可以是一個(gè)有序數(shù)組
3. 寫(xiě)一個(gè)二維數(shù)組排序算法函數(shù),能夠具有通用性,可以調(diào)用php內(nèi)置函數(shù)
【附答案】(以下答案不一定是最好的,只是一個(gè)簡(jiǎn)單的參考)
一、基礎(chǔ)題
1. 相等 相等 不相等
2. true true true true true false true false
3. aaaaaa
4. 5 0 1
5. 5 2
6. 1 2
7. 使用五種以上方式獲取一個(gè)文件的擴(kuò)展名
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描述冒泡排序和快速排序算法,對(duì)象可以是一個(gè)數(shù)組
//冒泡排序(數(shù)組排序)
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;
}
//快速排序(數(shù)組排序)
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); }
2. 使用PHP描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對(duì)象可以是一個(gè)有序數(shù)組
//二分查找(數(shù)組里查找某個(gè)元素)
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;
}
//順序查找(數(shù)組里查找某個(gè)元素)
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. 寫(xiě)一個(gè)二維數(shù)組排序算法函數(shù),能夠具有通用性,可以調(diào)用php內(nèi)置函數(shù)
//二維數(shù)組排序, $arr是數(shù)據(jù),$keys是排序的健值,$order是排序規(guī)則,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;
}
一份php面試題(附答案)2007-06-25 10:36
考的很基礎(chǔ),但基礎(chǔ)不牢,有一批不會(huì)做。像在HTTP 1.0中,狀態(tài)碼 401 的含義,error_reporting(2047)這些不知道。但用2047似乎有點(diǎn)兒變態(tài),太不易讀。
如果可以參考手冊(cè)~~~~
* 1.在PHP中,當(dāng)前腳本的名稱(chēng)(不包括路徑和查詢(xún)字符串)記錄在預(yù)定義變量(1)中;而鏈接到當(dāng)前頁(yè)面的URL記錄在預(yù)定義變量(2)中。
2.執(zhí)行程序段將輸出(3)。
3.在HTTP 1.0中,狀態(tài)碼 401 的含義是(4);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語(yǔ)句為(5)。
4.數(shù)組函數(shù) arsort 的作用是(6);語(yǔ)句 error_reporting(2047)的作用是(7)。
5.PEAR中的數(shù)據(jù)庫(kù)連接字符串格式是(8)。
6.寫(xiě)出一個(gè)正則表達(dá)式,過(guò)慮網(wǎng)頁(yè)上的所有JS/VBS腳本(即把script標(biāo)記及其內(nèi)容都去掉):(9)。
7.以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語(yǔ)句(10)動(dòng)態(tài)裝載PHP模塊,
然后再用語(yǔ)句(11)使得Apache把所有擴(kuò)展名為php的文件都作為PHP腳本處理。
8.語(yǔ)句 include 和 require 都能把另外一個(gè)文件包含到當(dāng)前文件中,它們的區(qū)別是(12);為了避免多次包含同一文件,可以用語(yǔ)句(13)來(lái)代替它們。
9.類(lèi)的屬性可以序列化后保存到 session 中,從而以后可以恢復(fù)整個(gè)類(lèi),這要用到的函數(shù)是(14)。
10.一個(gè)函數(shù)的參數(shù)不能是對(duì)變量的引用,除非在php.ini中把(15)設(shè)為on.
11.SQL 中LEFT JOIN的含義是(16)。
如果 tbl_user記錄了學(xué)生的姓名(name)和學(xué)號(hào)(ID),
tbl_score記錄了學(xué)生(有的學(xué)生考試以后被開(kāi)除了,沒(méi)有其記錄)的學(xué)號(hào)(ID)和考試成績(jī)(score)以及考試科目(subject),
要想打印出各個(gè)學(xué)生姓名及對(duì)應(yīng)的的各科總成績(jī),則可以用SQL語(yǔ)句(17)。
12.在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須(18)。
13.寫(xiě)一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。
14.簡(jiǎn)述論壇中無(wú)限分類(lèi)的實(shí)現(xiàn)原理。
15.設(shè)計(jì)一個(gè)網(wǎng)頁(yè),使得打開(kāi)它時(shí)彈出一個(gè)全屏的窗口,該窗口中有一個(gè)文本框和一個(gè)按鈕。用戶(hù)在文本框中輸入信息后點(diǎn)擊按鈕就可以把窗口關(guān)閉,而輸入的信息卻在主網(wǎng)頁(yè)中顯示。
//答案(填空):
1. echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];
2. 0
3. (4)未授權(quán) (5) header("HTTP/1.0 404 Not Found");
4. (6)對(duì)數(shù)組進(jìn)行逆向排序并保持索引關(guān)系 (7)All errors and warnings
5. 沒(méi)弄明白
6. /].*?>.*?<\/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) 發(fā)生異常時(shí)include產(chǎn)生警告require產(chǎn)生致命錯(cuò)誤 (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. 結(jié)束標(biāo)識(shí)符所在的行不能包含任何其它字符除";"
13.
/**
* 遍歷目錄,結(jié)果存入數(shù)組。支持php4及以上。php5以后可用scandir()函數(shù)代替while循環(huán)。
* @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;
}
}
【PHP筆試練習(xí)題】相關(guān)文章:
PHP應(yīng)聘筆試題06-18
php練習(xí)筆試題06-15
PHP筆試試題07-18
最新PHP技術(shù)筆試題09-10
PHP考試筆試題06-28
一套PHP的筆試題及答案10-19
PHP軟件工程師的筆試題08-03
普通PHP程序員筆試題及答案09-10