header("Content-type:text/html;charset=utf-8");
classperson{
public$name;
public$xb;
function_construct($xm,$sex){
$this->name=$xm;
$this->xb=$sex;
}
}
classstudentextendsperson{
var$xh;
function_construct($xm,$sex,$id){
$this->xh=$id;
parent::_construct($xm,$sex);
}
functiongetInfo(){
echo'姓名:'.$this->name.'<br>';
echo'性別:'.$this->xb.'<br>';
echo'學號:'.$this->xh.'<br>';
}
}
$stu1=newstudent;
$stu1->_construct('張三','男','20011020305');
$stu1->getInfo();
② 一個PHP測試題
因為$count是靜態變數(static),不會因為重新調用函數而重新賦值,而是會保存每次運算完的結果,第二次調用get_count()前,$count已經為1,不會被 static $count = 0;重新賦值,你看下static的說明就會明白了
③ 關於PHP的判斷題
正確。
錯誤。
錯誤。
正確。
錯誤。
正確。
錯誤。
錯誤。
正確。
錯誤。
錯誤。
錯誤。
錯誤。
錯誤。
?
④ php基礎測試
看的眼睛痛,換張清晰我告訴你
⑤ PHP基礎編程題
//第二題
<?php
$i=1;
$sum=0;
while($i)
{
$i=$i*2;
$sum++;
if($i==4096)
break;
}
echo $sum;
?>
⑥ php面試題解答
1,
var x=document.getElementById("img1");
var title=document.getElementById("img1").title;
var sina_title=document.getElementById("img1").sina_title;
2,serialize(),unserialize();
3,編碼方式不同,urlencode()將字串以URL編碼。例如空格就會變成加號。
rawurlencode()將url編碼成url的字元串專用格式,特殊字元回轉換成百分號後面加兩個十六子介數字的格式。
4,strip_tags(),html_entity_decode();
5,$str=preg_replace("/\<script.*\>.*\<\/script\>/i","",$str);
6,左連接,左連接的表如果沒有匹配的數據不影響結果。
7
SELECT name,score FROM tl_user LEFT JOIN tl_score ON tl_user.ID=tl_score.ID
7 system(),exec(),passthru()
8,json_decode ,json_encode
9 isset() empty()
10 後者的許可權大於前者,後者是OFF的話,前者就算是E-ALL也沒用。
11,$_SERVER['REMOTE_ADDR'];
12,incov()
echo iconv("gbk",""UTF-8,"我們");
mb_convert_encoding($str, "GBK", "UTF-8")
13 explode() split() ;implode() join()
14 注意事項挺多的,懶得寫。
二
1,超時,伺服器已經關閉連接
2 靜態表欄位長度固定,自動填充,讀寫速度很快,便於緩存和修復,但比較占硬碟,動態表是欄位長度不固定,節省硬碟,但更復雜,容易產生碎片,速度慢,出問題後不容易重建。
3InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優缺點,視具體應用而定。基本的差別為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已經外部鍵等高級資料庫功能。
MyIASM是IASM表的新版本,有如下擴展:
二進制層次的可移植性。
NULL列索引。
對變長行比ISAM表有更少的碎片。
支持大文件。
更好的索引壓縮。
更好的鍵嗎統計分布。
更好和更快的auto_increment處理。
1.MySQL最大的優勢在於MyISAM引擎下的簡單SELECT,INSERT和UPDATE快速操作
2.MyISAM類型的數據文件可以在不同操作系統中COPY,這點很重要,布署的時候方便點。
以下是一些細節和具體實現的差別:
1.InnoDB不支持FULLTEXT類型的索引。
2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。
3.對於AUTO_INCREMENT類型的欄位,InnoDB中必須包含只有該欄位的索引,但是在MyISAM表中,可以和其他欄位一起建立聯合索引。
4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據後再改成InnoDB表,但是對於使用的額外的InnoDB特性(例如外鍵)的表不適用。
另外,InnoDB表的行鎖也不是絕對的,如果在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like 「%aaa%」
以暫對存儲引擎的認識,覺得 InnoDB 支持外鍵,在數據量可以用「龐大」來形容時,在有良好的 INDEX 的基礎上,InnoDB 的查詢速度應該比 MyISAM 要快。
在 Falcon 有穩定版本前,我想 MyISAM 是一個可用的選擇方案。
任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的性能優勢
3, 都是1 ^^懶得回答了,睡覺去。
⑦ PHP程序員上機面試題(並附答案,回答好的加分)
題集網上有一套php的面試題:http://www.tijee.com/tags/46-php-face-questions/posts
⑧ (100分懸賞)幾道PHP題,速度快,准確高的多加200分
填空選擇題
1、在ASP頁面中用以下語句聲明<script language=VbScript _2___=server>腳本</script>,要求能在伺服器端運行VbScript腳本
2、把數值型轉換為字元串型的VbScript函數是_ CStr 3_;把字元串轉換為整數 VbScript函數是¬¬¬5¬cint()
3、HTML標記,可單獨使用或嵌入在各個ASP腳本單元中,以" __1____"為定界符; VBScript(或JScript)語句,可單獨使用或嵌入在各個ASP腳本單元中,以___9______為定界符,通過對"__2______"屬性的設置來決定是否在伺服器端運行;
ASP腳本命令,可單獨使用或包含在此和〈/html〉內,以"_____7____"為定界符
4、一段連接ACCESS資料庫的代碼
<% set conn=server.creatobject("adodb.connection")
Connstr= "DSN=____4___;UID=___6_____;PWD=;」
conn.open Connstr
%>
5、Session對象保存的用戶信息是存儲在___10_____;Cookie對象保存的用戶信息是存儲在____8_____
選項:
(1)< 和 〉 (2)runat (3)cstr (4)數據源的名稱 (5)cint
(6)資料庫的用戶名 (7)<% 和 %> (8)客戶端(9)<Script>和</Script> (10)伺服器端
三、判斷題
1、Vbscript只有一種數據類型,稱為Variant ( 1 wrong)
2、資料庫中的數據中最不可能為空值的是外鍵 ( 2 wrong)
3、Vbscript腳本語言不區分大小寫,而JavaScript區分大小寫 (right )
4、在特定的asp頁面中指定主要的腳本語言,格式為<%@ language=Language of Script%>,這一行聲明可以放在ASP頁面的任何位置 ( wrong)
5、一個包含動態腳本的ASP頁面直接雙擊,該頁面的內容不能正常顯示。( wrong)
6、刪除student表中學號為『200501012『的學生信息的SQL語句為
delete * from student where StudentID=』 200501012』 (right )
7、Vbscript聲明變數的時候用var;JavaScript聲明變數的時候用dim (wrong )
8、<%response.write Server.HTMLEncode(「<font color=』red』>顏色</font>」)%>將會以紅色的字體顯示「顏色」。( wrong)
9、ASP中request語句主要是用於用戶接收伺服器的數據 (wrong )
10、在用瀏覽器訪問某個網站的頁面時,可通過查看源文件的方式,修改網頁的源代碼( wrong)
四、問答題
1、ASP的工作原理 :用iis服務以網頁的形式瀏覽asp文件,
2、<form name="form1" method="post" action="">
<form name="form1" method="get" action="">
簡述Post和get方法的區別,並指出接收數據時用到的對象與方法
通過get方法提交數據,可能會帶來安全性的問題。比如一個登陸頁面。當通過get方法提交數據時,用戶名和密碼將出現在URL上。如果:
1、 登陸頁面可以被瀏覽器緩存;
2、 其他人可以訪問客戶的這台機器。
那麼,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。
建議 :在Form中,建議使用post方法。
post請求無長度限制(至少是理論上的)
表單提交中get和post方式的區別歸納如下幾點:
1. get是從伺服器上獲取數據,post是向伺服器傳送數據。
2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。
get有長度限制,最長不超過2048位元組(1024個漢字)
⑨ PHP選擇題
在函數體內的時候, $A的作用域僅僅是在當前函數體內, 它無法訪問函數體外$A的值.
但是當你設置了global以後, 變數會由局部變數升級為全局變數, 這個時候它會受外部變數的影響.
所以, 你在函數體內的賦值會失效, 轉而會得到函數體外的$A的值!
⑩ PHP 選擇題
如果or die("Could not query: . mysql_error()); 這里的" ' " 不少的話就是
B、列印第三個雇員的名字
mysql_result($result,2); //2為列印的行索引,從0開始
另經測試以上代碼,確實列印第3行的雇員名字
其實這道題出的還是有漏洞的。
如果這行SELECT name FROM work.employee不加order by id的話表中的主鍵也不是按順序插入的顯示的就不一定是第3行了。。