php考試試題及答案
Ⅰ php考試系統怎麼實現在同一頁面提交後,實現隨機出題,並保證提交後,不再隨機,要求試題和答案保持一致
用sesssion保存答過的題目id
每次選題前,先從session取出已答題目id跟所有題目id做一個差集,array_diff()可以計算數據差集。
新的題目從這個差集里隨機選取。
至於試題和答案對應關系,做好答案和試題id的關聯關系就行。
Ⅱ PHP在線考試系統怎麼在最後顯示所有題目的正確答案
樓上你真逗,,直接echo 出來了,人家是要源碼的或者做一個考試專系統的方案的。
這個考試系統你需要屬做成什麼什麼東西,具體有什麼功能,這個需求,你連需求都沒有怎麼做,然後有了需求,就開始用php代碼去實現即可。。。。
Ⅲ 求一道php題的答案,急用~!
<?php
classPerson{
protected$name;
protected$xb;
publicfunction__construct($name,$xb)
{
$this->name=$name;
$this->xb=$xb;
}
}
classStudentextendsPerson{
protected$xh;
publicfunction__construct($name,$xb,$xh)
{
parent::__construct($name,$xb);
$this->xh=$xh;
}
publicfunctionshowStudent()
{
echo'姓名:'.$this->name." ".'性別:'.$this->xb." ".'學號:'.$this->xh;
}
}
$student=newStudent('小明','男','12345678');
$student->showStudent();
Ⅳ PHP考試題目
表一,題庫。欄位為id,題目標題,題目類型,答案,分值,答案的設計要注意,填空,多選,單選的程序設計表二,試卷表從題庫中選擇所需要組成的題目,然後到此表中。在試卷表可以再多弄個表,要試卷類別,這樣,試卷表就可以有多張試卷了,試卷表的欄位與題庫表差不多。其實不難的啊?
Ⅳ 求php面試題以及答案,php筆試題
java異常機制的原理與應用
答:每當程序出現異常之後,如果程序沒有進行相應的處理,則程序會出現中斷現象。
實際上,產生了異常之後,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當try語句捕獲異常之後,將與catch語句的異常類型進行匹配,如果匹配成功則執行catch內的語句。簡單的應用:在所以throws語句的地方加入try-catch。標准應用:try-catch-finally-throw-throws一起使用。
2. 垃圾回收機制的優點
答:釋放無用的對象所佔用的空間。方式:自動回收,手動回收。使用System.gc(),實際上調用Runtime.getRuntime().gc()
3. Error與Exception區別
答:Error是jvm進行處理,是jvm出錯
exception是可以由程序處理的,可以用try-catch捕獲的
4. final,finally,finallize
答:final定義的變數的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承
finally是異常的統一出口,finallize是垃圾回收前的收尾工作,是Object類定義的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允許繼承和實現,因為匿名內部類就是在抽象類和介面的基礎上發展起來的
6. Static Nested Class 與Inner Class的區別
答:使用Static定義的Class就是外部類,可以通過外部類. 內部類直接訪問
而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內部類實例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)採用非同步處理方式,性能較高,是非線程安全的 3)允許null
HashTable:1)released in jdk 1.0 ,old Class 2)採用同步處理方式,性能低,是線程安全的3)不允許null
8. assert代表什麼?
答:asserts是jdk 1.4之後發布的新關鍵字,表示斷言,即程序執行到某個地方肯定是預計的值,一般開發很少使用。要使用assert,必須加上 -ea參數
9. gc是什麼?
答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放
10. String s = new String("xyz")產生了幾個對象?
答:一個匿名對象xyz,在棧空間內。一個new實例化的對象,在堆空間內。
11. sleep() and wait()?
答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒
wait()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源
12. java中存在goto,但不能使用
13.數組有沒有length(),String有沒有length()?
答:數組有length屬性,String有length()
14. Overload與Override的區別
答:Overload:重載
|- 在一個類中定義的若干方法
|- 所有的方法名相同,但參數類型或個數不同
|- 只有參數有關,與返回類型無關
Override:覆寫
|- 在繼承的關系中
|- 子類定義了父類同名的方法,參數類型或個數最好完全一樣。
|- 訪問許可權不能更嚴格
15. Set里的元素不能重復,用什麼方法區分?==與equals()方法的區別
答:set里的元素是不能重復的,用iterator()方法來區分重復與否,==屬於地址比較,
==用於比較引用和比較基本數據類型時具有不同的功能:
比較基本數據類型,如果兩個值相同,則結果為true
而在比較引用時,如果引用指向內存中的同一對象,結果為true
16. 列出常見的 runtime exception
答:NumberFormatException/ArrayOutIndexofBoundException/NullPointerException/ClassCastException
17. abstract class 和 interface有什麼區別?
答:抽象類:
|-由抽象方法和常量、變數、全局常量、構造方法、普通方法組成
|-使用abstract聲明
|-子類要通過extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法
|-存在單繼承的局限
|-抽象類可以實現若干個介面
介面:
|-由抽象方法和全局常量組成
|-使用interface關鍵字
|-子類要通過implements實現介面,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法
|-一個子類可以實現多個介面
|-介面不能繼承一個抽象類,但允許繼承多個介面
18. 啟動一個線程要用start(),因為要通知jvm進行cpu資源的分配
19. try裡面的代碼是否執行,在什麼時機執行?
答:finally{}裡面的代碼執行,在return之前。
20. 寫一個singleton
答:singleton的核心就是構造方法私有化,Class,Runtime都採用單例
package com.leongod.demo;
public class Singleton(){
private static final sin = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return sin;
}
}
21. 程序設計:輸入一組數字,然後排序輸出
答:package com.leongod.demo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class IO {
public static void main(String[] args) throws Exception {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("請輸入一組數字,中間用空格分割:");
String str = buf.readLine();
Set<Integer> set = new TreeSet<Integer>();
String[] arr = str.split(" ");
for(String s : arr) {
if (s.matches("\\d+")) {
set.add(Integer.parseInt(s));
}
}
Iterator<Integer> it = set.iterator();
System.out.println("排序後的結果:");
while (it.hasNext()) {
System.out.print(it.next() + ",");
}
}
}
22.列出目錄內的文件
package com.leongod.demo;
import java.io.File;
import com.sun.org.apache.xpath.internal.functions.FuncBoolean;
public class FileDemo {
public static void main(String[] args) {
?? File file = new File("D:" + File.separator + "kongkong");
?? fun(file);
}
public static void fun(File file) {
if (file.isDirectory()) {
File[] lf = file.listFiles();
if (lf != null) {
for(File f : lf) {
fun(f);
}
}
}else {
System.out.println(file.toString());
}
}
}
23. char可以存一個中文漢字嗎?
答:可以,使用了unicode編碼
24.多線程有幾種實現方法,都是什麼?同步有幾種實現方法,都是什麼?
答:兩種多線程方法,繼承Thread類,實現Runnable介面
|-Thread類是Runnable介面的子類
|-使用Runnable介面可以實現資源共享的目的
|-所有線程操作都必須通過Thread類的start()方法啟動
兩種實現同步的方法:
|-同步代碼塊:Synchronized(this)
|-同步方法
25.f=3.4是不對的,3.4默認是double類型的
26.String and StringBuffer?
答:String 不可以修改,StringBuffer可以修改
27.Class.forname向容器中載入驅動程序
28.int與Integer有什麼區別?
答:int是基本數據類型,Integer是包裝類
在jdk1.5以後,可以實現自動裝箱和拆箱
29.2*8有效的方法是移位操作:2<<3
30.請說出類集框架的完整結構
答:類級框架的最大介面:Collection、Map、Iterator、Enumeration
Collection:存放單值
|-List:允許有重復內容
|-ArrayList:非同步處理,新的操作類,非線程安全
|-Vector:同步處理,舊的操作類,線程安全,支持Enumeration
|-Set:不允許有重復的內容,依靠hashCode()和equals()進行重復的驗證
|-HashSet:無序存放
|-TreeSet:有序存放,按Comparable排序
|-Map:存放一對值
|-HashMap:新的類,非同步處理,非線程安全,允許有null
|-HashTable:舊的類,同步處理,線程安全,不允許有null
|-TreeMap:有序排列,按key配需
|-Iterator:迭代輸出,依靠collection介面中的iterator方法輸出,是新的輸出標准
31.是否可以繼承String類?答:不可以,因為使用了final關鍵字
Ⅵ PHP試題,求答案
1、 DATABASE database_name
2、CREATE TABLE user (id int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID),username varchar(15),password varchar(50),head_portrait varchar(100),add_time varchar(15),)
3、
① mysql_connect("資料庫地址","用戶名","密碼");
② mysql_select_db("資料庫名稱")
③ mysql_query()
④ $sql=mysql_query("select * from user")
while($row=mysql_fetch_array($sql))
{
多條數據循環區
}
⑤ $sql=mysql_query("select * from user")
$row=mysql_fetch_array($sql)
⑥ mysql_num_rows()
5、
② header("localtion:url地址")
只能幫你寫這么多了,其它的不是一句兩句能解決的,只有你自己寫
幫你寫那麼多,記得點贊啊
Ⅶ PHP+Mysql上機考試題
html"><?php
$p_arr=array("20120101"=>95,
"20120102"=>88,
"20120103"=>47,
"20120104"=>92,
"20120105"=>90,
"20120106"=>72,
"20120107"=>85,
"20120108"=>65,
"20120109"=>98,
"20120110"=>55);
$result=0;
foreach($p_arras$key=>&$value){
if($value>$result)
{
$result=$value;
$number=$key;
}
}
echo"最高成績";
echo"學號".$number;
echo"</br>";
echo"成績".$result;
echo"</br>";
echo"</br>";
echo"</br>";
echo"不及格:";
$result=0;
$number="";
foreach($p_arras$key=>&$value){
if($value<60)
{
echo"</br>";
echo"學號".$key;
echo"</br>";
echo"成績".$value;
}
}
?>
第一個問版題看w3school的幫助文檔權
Ⅷ 哪裡有php測試題帶答案的
1、用列印出前一天的時間,格式是2006-5-10 22:21:21
<?php
//echo date('Y-m-d H:i:s',time()-60*60*24
echo date("Y:m:d H:i:s",strtotime("-1 day"));
?>
2、echo(),print(),print_r()的區別
echo是語言結構,無返回值;print功能和echo基本相同,不同的是print是函數,有返回值;print_r是遞歸列印,用於輸出數組對象
3、能夠使HTML和PHP分離開使用的模板
so much,其實PHP本身就是一種模版引擎,我用過的是smarty,常見的還有PHPLib,FastTemplate,Savant這里有個模板引擎列表:http://www.sitepoint.com/forums/showthread.php?t=123769
4.如何實現PHP、JSP交互?
題目有點含糊不清,SOAP,XML_RPC,Socket function,CURL都可以實現這些,如果是考PHP和Java的整合,PHP內置了這種機制(如果考PHP和.NET的整合,也可以這么回答),例如$foo = new Java('java.lang.System');
5.使用哪些工具進行版本控制?
CVS和SVN,SVN號稱下一代CVS,功能強大,不過CVS是老牌,市佔率很高.我一直用SVN,題目是問用什麼工具,呃,這個可能需要這么回答:CVS Server on Apache作服務端,WinCVS作客戶端;Subversion on Apache/DAV 做服務端,TortoiseSVN做客戶端,或者Subclipse做客戶端
6.如何實現字元串翻轉?
<?php
function reverse($var)
{
$res="";
for($i=0,$j=strlen($var);$i<$j;$i++)
{
$res=$var[$i].$res;
}
return $res;
}
$tmpvar="wofang";
$res=reverse($tmpvar);
echo $res;
?>
7、優化MYSQL資料庫的方法。
(1).資料庫設計方面,這是DBA和Architect的責任,設計結構良好的資料庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分數據冗餘,避免JOIN操作,以提高查詢效率
(2).系統架構設計方面,表散列,把海量數據散列到幾個不同的表裡面.快慢表,快表只留最新數據,慢表是歷史存檔.集群,主伺服器Read & write,從伺服器read only,或者N台伺服器,各機器互為Master
(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關系.檢查有沒有少加索引
(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有limit等等.必要的時候,把資料庫邏輯封裝到DBMS端的存儲過程裡面.緩存查詢結果,explain每一個sql語句
(5).所得皆必須,只從資料庫取必需的數據,比如查詢某篇文章的評論數,select count(*) ... where article_id = ? 就可以了,不要先select * ... where article_id = ?然後msql_num_rows.
只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)
(6).必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數量級的查詢速度
8、談談事務處理
A給B的賬戶轉賬50美元的例子
9、apache+mysql+php實現最大負載的方法
見7
10.實現中文字串截取無亂碼的方法。
mb_substr()
11.
<?php
$empty = '';
$null = NULL;
$bool = FALSE;
$notSet;
$array = array();
//以下是問題
$a = "hello";
$b = &$a;
unset($b);
$b = "world";
//答案為:hello
echo $a;
?>
12.
<?php
$empty = '';
$null = NULL;
$bool = FALSE;
$notSet;
$array = array();
//以下是問題
$a = 1;
$x = &$a;
$b = $a++;
//以下為答案:1
echo $b;
?>
13
<?php
$empty = '';
$null = NULL;
$bool = FALSE;
$notSet;
$array = array();
//以下是問題
$x = empty($array);
//以下為答案:true
echo $x?"true":"false";
?>
14、用PHP寫出顯示客戶端IP與伺服器IP的代碼:
<?php
$ip=gethostbyname ("");
echo $ip;
?>