千文網小編為你整理了多篇相關的《開發(fā)技術(PHP)測試題(大全)》,但愿對你工作學習有幫助,當然你在千文網還可以找到更多《開發(fā)技術(PHP)測試題(大全)》。
第一篇:最新PHP技術筆試練習題
最新PHP技術筆試練習題
茂盛的禾苗需要水分;成長的少年需要學習。以下是小編為大家搜索整理的最新PHP技術筆試練習題,希望能給大家?guī)韼椭?更多精彩內容請及時關注我們應屆畢業(yè)生考試網!
一、不定項選擇
1:Php文件的后綴名是( A )
A:php B:jsp C:asp D xml
2:php環(huán)境的網頁運行服務器是( B )
A: IIS B: apache C: tomcat D Weblogic
3: PHP常用的開發(fā)工具有( ABCD ) x
A: Zend Stodio B: EditPlus C: DW D: 記事本
5: 書寫php代碼能使用的正確形式是(AB )
A: B:
C: <# #> D:
6: php中能使用的注釋方式是( ABC )
A: //???? B: /*???? */ C: #.............. D:
7: php常用的打印函數為( ABC )
A: print B: echo C: printf D: 以上都不是
8: 以下那一個不是PHP數據類型的為( B)
A: integer B: friend C: boolean D: array
10: 以下轉義字符中為制表符的是( B )
A:\n B: \t C: \r D: \$
11:以下函數中用于判斷是否為數組的函數為( C )
A: is_long() B: is_double() C: is_array() D: is_object()
12: 按作用域分的話,php的變量可分為(ABC )
A: 局部變量 B: 全局變量 C: 靜態(tài)變量 D: 枚舉
13: $a=1;$b=2;
function Sum()
{
Global $a,$b;
$b=$a+$b;
}
Sum();
echo $b;$b的結果為( C )
A: 2 B: 1 C: 3 D: 0
14:若$a=10;則$a++為(C ), ++$a為( )
A:10,10 B: 11,10 C:10,11 D: 11,11
15: $a=(3>5) ? (‘yes’) : (‘no’);echo $a.”
\n”( B )
A:yes B: no C:0 D: 1
16: Function keep_track(){
STATIC $count=5;
echo $count++,”
”
}
Keep_track();
Keep_track();
Keep_track();該程序的結果為(B )
A5,5,5 B: 5,6,7 C:6,7,5 D: 6,5,7
17以下屬于文件包含的函數為( ABCD)
A include() B: require()
C:include_once() D: require_once()
18:print strlen(“p h p”) 結果為( C )
A 3 B:5 C:6 D: 4
19: $a = 3;
function foo()
{
$a=0;
$a+=2;
}
foo();
echo $a;
$a的結果為( A )
A 3 B:2 C:0 D: 5
20: function doubler($value)
{
$value = $value * 2;
}
$a = 3;
doubler($a);
echo $a;$a為(D )
A 5 B:0 C:6 D: 3
21: function doubler(&$value)
{
$value = $value * 2;
}
$a = 3;
doubler($a);
echo $a;$a為(C )
A 5 B:0 C:6 D: 3
22: 以下用于追加數組元素的函數為(A D )
A array_push() B: array_pop() C: array_shift()
array_unshift()
23: 以下用于刪除數組元素的函數為( )
A array_push() B: array_pop() C: array_shift()
array_unshift() D: D:
23: 以下用于修改數組元素的函數為( A )
A array_pad() B: array_pop() C: array_shift() D: array_unshift()
24:判斷數組鍵存在的函數為( B )
A in_array() B: array_key_exists() C: array_keys() D:
array_values()
24:判斷數組值存在的函數為( A)
A in_array() B: array_key_exists() C: array_keys() D:
array_values()
25: 要想返回一個數組中單元的鍵名,可以使用( C )函數
A in_array() B: array_key_exists() C: array_keys() D:
array_values()
26: 用于刪除數組中所有重復的值,返回一個由唯一值組成的數組的函數為( B)
A in_array() B: Array_unique() C: array_keys() D: array_values() 27:php用那幾種形式實現多態(tài)( )
A接口 B: 繼承 C: 抽象 D: 封裝
29: 字符串的定義方式有( ABC )
A單引號 B: 雙引號 C: 定界符 D: 美元符號
30: 以下能夠識別轉義字符的為( B )
A單引號 B: 雙引號 C: 定界符 D: 美元符號
31: $name='Tim O\'Reilly'; echo $name."
“;
輸出結果為( B )
A Tim O\'Reilly B: Tim O' Reilly
C:Tim O\Reilly D: TimO\Reilly
32: $path='C:\\WINDOWS';echo $path."
";
輸出結果為( B )
A C:\\WINDOWS B: C:\WINDOWS
C: C:WINDOWS D: C:/\WINDOWS
33: 函數(A )返回一個字符串里的字符數
A strlen() B: strcmp ( ) C: strtolower( ) D: ucfirst( )
34: 使用( B )函數比較字符串
A strlen() B: strcmp ( ) C: strtolower( ) D: ucfirst( )
35:以下函數那些事用于過濾字符串空格的( ABC )
A ltrim( ) B: rtrim( ) C: trim( ) D: wtrim()
36: 將字符串中的換行符(\n)轉換為
的函數為( A)
A nl2br() B: strip_tags() C: substr( ) D: implode()
37: $email = 'user@example.com';$domain = strstr($email, '@');echo $domain; 輸出結果為( A )
A @example.com B: user@example.com C: example.com D: user
38: $mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
if ($pos === false)
echo "not found ";
else
echo "found";
輸出結果為( B )
A not found B: found C: found not found D:not
39: $str = "My name is Jack, and what is your name?";
echo substr_count ($str,“name”);程序的輸出結果為( B )
A 1 B: 2 C: 3 D:4
40: 復制文件使用( A )函數實現
A copy() B: unlink() C: rename() D: fwrite()
41:使用( C )函數,可以移動、重新命名一個已經存在的文件或目錄
A copy() B: unlink() C: rename() D: fwrite()
42: ( C )函數將任何英文文本的日期時間描述解析為 Unix 時間戳
A date() B: getdate() C: strtotime() D: mktime()
43: PHP程序中,需要處理的上傳數據保存在全局數組( A )
A $_FILES B: $_COOKIE C: $GLOBALS D: $_SESSION
44: 使用函數( A )來檢查此文件是否是上傳文件。
A is_uploaded_file( ) B: move_uploaded_file()
C: uploaded_file() D: move_file()
45:
二、填空
1:PHP中的對象分為系統內置對象和自定義對象兩種
2:類型轉換:類型強制轉換、類型自動轉換
3:所有的變量都有作用域,它體現了變量的可見性與生命周期。
4:PHP中的變量都以$開頭
5:變量的使用范圍,也叫做變量的作用域
6:php中聲明全局變量的關鍵字是GLOBAL
7:有兩種不同的為函數傳遞參數的方法。第一種也是最普遍的一種就是按值(value)傳遞,另一種是按引用(reference)傳遞。
8: 數組的每個實體都包含兩項:鍵和值。PHP數組分為索引數組和關聯數組兩類 9: 數組鍵既可用字符也可用數字
10:如果想創(chuàng)建一個范圍型的數組外加步長 我們可以使用函數 range
11:客觀世界由對象組成。
12:具有相同數據(屬性)和操作(方法)的對象可歸納成類。
13對象是一個封裝數據屬性和操作行為的實體.
14:php系統構造函數為__Contruct(),系統析構函數為__destruct()
15:用于定義靜態(tài)變量的關鍵字是static
16:用于在類中定義常量的關鍵字是 const
17:使用instanceof關鍵字可以判斷某個對象是否是某個類的實例。
18:在PHP中我們使用”clone”這個關鍵字克隆對象
19:PHP5定義了一個特殊的方法名“__clone()”方法,是在對象克隆時自動調用的方法 20:繼承性是面向對象程序設計語言不同于其他語言的最主要的特點.
21在類里面定義的`沒有方法體的方法就是抽象方法
22:在聲明抽象方法時還要加一個關鍵字“abstract”來修飾;
23: PHP 5引入了接口,是多重繼承問題的解決方法!
24:PHP規(guī)定用interface來定義一個接口,然后用implements讓類執(zhí)行一個接口! 25:我們可以使用”extends”關鍵字讓一個接口去繼承另一個接口;
26:凡是被final標記了的屬性和方法均無法重載。如果把final放在class前面,那么整個類將無法被繼承!
27 :Php中比較常用的反射類是 ReflectionClass
28:使用pathinfo()函數,可以對指定的路徑和文件名進行解析
29: PHP提供了basename()函數,可以快速的獲取指定文件的文件名部分
30:使用dirname()函數,可以快速的獲取指定文件的路徑部分。
31:glob()函數可以根據指定的條件,來尋找與條件相符的文件或目錄,并通過數組返回。 32: php使用opendir()打開一個目錄句柄,以便其他目錄函數使用
33: rmdir()函數會試圖刪除要求的目錄,但是目錄必須為空并具有相應的權限 34:使用readdir()函數,會從目錄句柄中讀取下一個文件的文件名
35:在使用完opendir()打開的目錄句柄后,應使用closedir()進行關閉
36: file()函數讀取文件后,返回1個數組,其中數組的每個單元對應著文件的1行
37:使用file_get_contents()函數,可以把參數指定的文件,整個讀取到1個字符串變量中。
38: 而使用POST方法時,HTTP會將表單的輸入信息進行包裝后發(fā)送,而GET方式是附加在Action所設定的URL之后發(fā)送。
39:
三、代碼填空
1
$array = array(0 => 0, "color" => "red",55,"two"=>array(1=>3,5,6,7)); function showValue($arr)
{
$flag=reset($arr);
while(!is_bool($flag))
{
$key=key($arr);
$value=current($arr);
if(is_array($value))
{
showValue($value);
}
else
{
echo $key.":".$value,"
";
}
$flag=next($arr);
}
}
showValue($array);
2
Class Test
{
public $name="lucky";
var $age=18;
function __set($propname,$propvalue)
{
$this->$propname=$propvalue;
print "ok";
}
}
$model=new Test();
$model->age=25;
$model->title="English";
print "age: ".$model->age."";
print "title: ".$model->title."";
3:
Class Test
{
public $name="lucky";
Var $age=25;
Public $address=“北京”;
Function __get($propname)
{
$vars=array("name","age","address");
if(in_array($propname,vars))
{
return $this->$propname;
}
else
{
return "No such variable!";
}
}
}
$model=new Test();
echo $model->city;
4
class A
{
public $attribute = 'value';
public function operation()
{
echo "operation called ".$this->attribute;
}
}
class B extends A
{
public $attribute = ‘new value’;
public function operation()
{
echo "new operation called ".$this->attribute;
}
}
$_a = new A();
$_a->operation();
$_b = new B();
$_b->operation();
5
if ($_FILES['userfile']['error'] > 0)
{
echo '上傳錯誤: ';
switch ($_FILES['userfile']['error'])
{
case 1:
echo '上傳文件大小超出了PHP配置文件中的約定值:upload_max_filesize'; break;
case 2:
echo '上傳文件大小超出了表單中的約定值: max_file_size';
break;
case 3:
echo '文件只被部分上載';
break;
case 4:
echo '沒有上傳任何文件';
break;
}
exit;
}
if ($_FILES['userfile']['type'] != 'text/plain')
{
echo '問題: 文件不是一個文本文件。';
exit;
}
$upfile = './uploads/'.$_FILES['userfile']['name'];
if (is_uploaded_file($_FILES['userfile']['tmp_name']))
{
//判斷是否為上傳文件
if (!move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile))
{
//移動文件
echo '問題: 不能將文件移動到指定目錄。';
exit;
}
}
else
{
echo '問題: 上傳文件不是一個合法文件: ';
echo $_FILES['userfile']['name'];
exit;
}
echo '文件上傳成功!';
6
$dir = dir(“html”);//創(chuàng)建directory類對象
echo "當前句柄:".$dir->handle."";
echo "路徑:".$dir->path."";
while(false !== ($entry = $dir->read()))
{
echo $entry."";
}
$dir->close();
四、論述題
1:請用代碼掩飾循環(huán)讀取文件內容
$handle = fopen("welcome.txt","rb");
$contents="";
while(!feof($handle))
{
$contents=fread($handle,1024);
}
fclose($handle);
print $contents ;
2: 試用函數演示遞歸求和
function showSum($n)
{
if($n==1)
return 1;
else
return showSum($n-1)+$n;
}
print showSum(10);
3: 試演示嵌套函數
function showValue()
{
function showMsg()
{
print “The programme is very interesting ”;
}
showMsg();
}
4試打印九九乘法表
5:試演示讀取文件的操作
$filename = “html/cache.txt”;
$handle = fopen($filename, “r”);
$contents = fread($handle, filesize($filename));
fclose($handle);
6:試演示寫入文件的操作
$handle = fopen(“html/cache.txt”,”w”);
fwrite($handle,”添加文字到文件中”);
fclose($handle);
7:PHP提供了那幾種網頁傳遞的方法,并說明各自的特點和作用:
8在服務器端的PHP接收程序中,必須依照
標簽中的method 屬性設定值,PHP關于窗體處理的「預定變量」有哪兩種 試述兩者的區(qū)別、特點、作用9:試列舉讀取文件內容的函數
file_get_contents()
fread()
file()
10:試列舉寫入文件內容的函數
fwrite()、fputcsv()、file_put_contents()
11:試列舉過濾字符串空格的函數
ltrim rtrim rrim
12:試列舉截取字符串的函數
13試述面向對象的基本特征
(1)客觀世界由對象組成。
(2)具有相同數據(屬性)和操作(方法)的對象可歸納成類。
(3)類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性
(4)對象之間的聯系通過消息傳遞(可理解為方法調用)來維系。
假設m1是類Manager的一個實例(或對象),當外界要求把這個對象所
代表的那位經理的級別改變?yōu)?時,就應以下面的方式向這個對象發(fā)
出一條消息: ml.ChangeLevel(2)消息傳遞
14:創(chuàng)建一個表,為其加入一個自動增長列,默認值列,非負數列