首頁 後端開發 php教程 php面試題集及答案

php面試題集及答案

Jul 25, 2016 am 08:53 AM

  1. $a = date("y-m-d h:i:s", strtotime("-1 day"));
  2. print_r($a);
複製程式碼

2、echo(),print(),print_r()的區別(3分)

  1. echo 和print不是函數,是語言結構
  2. int print(string $arg), 只有一個參數
  3. echo arg1,arg2 ; 可以輸出多個參數,回傳void
  4. echo和print只能印出string,不能印出結構
  5. print_r能印出結構
  6. $arr = array("key"=> "value");
  7. print_r($arr);
複製程式碼

3.能夠使html和php分離開使用的模板(1分) smarty,phplib 4.使用哪些工具進行版本控制?(1分) svn,git,cvs 5.如何實現字串翻轉?(3分) 英文: strrev($a) 中文或其他文字: 中文:gb2312, 代碼是使用gb2312編碼

  1. function reverse($str)
  2. {
  3. $ret = "";
  4. len=mbstrwidth( str,"gb2312");
  5. for(i=0;i {
  6. arr[]=mbsubstr(str, $i, 1, "gb2312");
  7. }
  8. return implode("", array_reverse($arr));
  9. }
  10. print_r(reverse("你好"));
複製程式碼

複製程式碼
  1. 複製程式碼
  2. 6.優化mysql資料庫的方法。 (4分,多寫多得) 語句方面: 1 使用索引,增加查詢效率 2 最佳化查詢語句,提高索引命中率 資料庫涉及方面: 1 建構分庫分錶,提升資料庫的儲存與擴充能力 2 根據需要使用不同的儲存引擎 7.php的意思(送1分) 超級文字預處理語言 hypertext preprocessor 8.mysql取得目前時間的函數是?,格式化日期的函數是(2分)

current_timestamp()date_format()

select date_format("2011-11-21 10:10:10" %m-%d");
  1. 複製程式碼
  2. 9.實作中文字串截取無亂碼的方法。 (3分) mb_substr($str, 1, 1, "gb2312"); 10.您是否用過版本控制軟體? 如果有您用的版本控制軟體的名字是?(1分) svn git 11、您是否用過模板引擎? 如果有您用的模板引擎的名字是?(1分) smarty 12、請簡單闡述您最得意的開發(4分) xxx 13.對於大流量的網站,您採用什麼樣的方法來解決訪問量問題?(4分) 1 有效使用緩存,增加緩存命中率 2 使用負載平衡 3 對靜態檔案使用cdn進行儲存與加速 4 想法減少資料庫的使用 5 看出現統計的瓶頸在哪裡 14.用php寫出顯示客戶端ip與伺服器ip的程式碼1分) $_server["remote_addr"] $_server["server_addr"] 15.語句include和require的差別是什麼?為避免多次包含同一文件,可用(?)語句代替它們? (2分) 在失敗的時候: include產生一個warning,而require產生直接產生錯誤中斷 require在運行前載入 include在運行時載入 require_once include_once 16、如何修改session的生存時間(1分). session_set_cookie_params 17.有一個網頁地址, 例如腳本學堂主頁: http://bbs.it-home.org/index.html,如何得到它的內容?($1分) file_get_contents curl 18.在http 1.0中,狀態碼401的意思是(?);如果傳回「找不到檔案」的提示,則可用 header 函數,其語句為(?);(2分) 未授權 header("http/1.0 404 not found"); fast cgi中: header("status: 404 not found"); 19.在php中,heredoc是一種特殊的字串,它的結束標誌必須?(1分) 成對出現 $a =
$str = "jianfeng@126.com";regex="([a?z0?9.?] )@([da ?z.?] ).([a?z.]2,6)" ; //正規return preg_match(regex,str)複製程式碼

26. 簡述如何得到目前執行腳本路徑,包括所得到參數。 (2分) $argc --取得參數數量 $argv --取得參數列表 27.如何修改session的生存時間. (1分) session_set_cookie_params 28.js表單彈出對話框函數是?獲得輸入焦點函數是? (2分) alert() confirm() promopt() focus() 29.js的轉向函數是?怎麼引入一個外部js檔?(2分) window.location.href="#"

30、foo()和@foo()有什麼差別?(1分) @代表所有warning忽略 31.如何宣告一個名為」myclass」的沒有方法與屬性的類別? (1分) class myclass { } 32.如何實例化一個名為」myclass」的物件?(1分) $myclass = new myclass(); 33.你如何存取和設定一個類別的屬性? (2分)
  1. class a
  2. {
  3. public $ name = "a";
  4. }
  5. $a = new a();
  6. n=a->name;
  7. print_r($n);
複製程式碼

34、mysql_fetch_row() 和mysql_fetch_array之間有什麼差別? (1分) mysql_fetch_array() 是 mysql_fetch_row() 的擴充版本。除了將資料以數字索引方式儲存在陣列中之外,還可以將資料作為關聯索引儲存,並以欄位名稱作為鍵名。
  1. mysql_connect("localhost", "mysql_user", "mysql_password") or
  2. die("could not connectnect . mysql_error());
  3. mysql_select_db("mydb");
  4. $result = mysql_query("select id, name from mytable");
  5. while (row=myfetcharray(result, mycharray(result, mycharray(result)) 🎜> printf ("id: %s name: %s", row["id"],row["name"]);
  6. }
  7. mysql_free_result($result);
複製程式碼

35.gd庫是做什麼用的? (1分) 動態的開放的圖片處理庫 36.指出一些在php輸入一段html程式碼的辦法。 (1分)

  1. echo "{html}"
  2. echo {html}
  3. eod;
{html}eod;

複製程式碼
  1. 37、下面哪個函數可以開啟一個文件,以便對文件進行讀取和寫入操作?(1分) c   (a) fget() (b) file_open() (c) fopen() (d) open_file() 38.下面哪個選項沒有將 john 加到users 陣列中? (1分) b
  (a) $users[] = 'john';  (b) array_add($users,'john');  (d) $users ||= 'john';

複製程式碼
  1. 複製程式碼
  2. 39、下面的程式會輸入是否?(1分) 10
$num = 10;  function multiply(){  〜10;   multiply();
  echo $num;

複製程式碼
  1. 40、使用php寫一段簡單名稱,查出所有名稱為「張三」的內容並印出(2分) 表名 username tel content date  張三 13333663366 大專畢業 2006-10-11  張三 13612312331 本科畢業 2006-10-15  張四 021-55665566 中專畢業 2006-10-15 請根據上面的題目完成程式碼:
  2.   $mysql_db=mysql_connect("local","root","pass"); $sql = sprintf("select * from %s where username = '%s'",
  3. "表名",
  4. "張三");
  5. values=mysqlquery(sql);
  6. while(item=mysqlfetchqueryarray(values))
  7. {
echo sprintf("用戶名:%s, 電話%s, 學歷: %s, 畢業日期: %s",
item[ ′username′],item['tel'], item[′content′],item['date'] ); }

複製程式碼
  1. 複製程式碼
  2. 41、如何使用下面的類別,並解釋下面什麼意思?(3)
  3. class test{
  function get_test($num){
  num=md5(md5(num)."en");  return $num;  }}
$test = new test();ret=test->get_test(11);print_r($ret);exit; 複製程式碼

將num進行md5編碼之後產生的32位元字串a1和"en"連結起來之後再進行一次md5編碼 42、寫出 sql語句的格式 : 插入 ,更新 ,刪除 (4分) 表名 username tel content date  張三 13333663366 大專畢業 2006-10-11  張三 13612312331 本科畢業 2006-10-15  張四 021-55665566 中專畢業 2006-10-15   (a) 有一新記錄(小王 13254748547 高中畢業 2007-05-06)請用sql語句新增至表中 insert into 表名 values('小王', '13254748547', '高中畢業', '2007-05-06')   (b) 請用sql語句把張三的時間更新成為目前系統時間 update 表名 set date = getdate() where username = "張三"   (c) 請寫出刪除名為張四的全部記錄 delete from 表明 where username = "張四" 43.請寫出資料型別(int char varchar datetime text)的意思; 請問varchar和char有什麼差別(2分) int 整數型 char 儲存定長 varchar 存儲變長 datetime 時間 text 儲存變長的 varchar是變長 char(20) 定長 44、mysq自增類型(通常為表id字段)必需將其設為(?)字段(1分) auto_increment   45、寫出下列程式的輸出結果 (1分)   $b=201;   $c=40;   a=b>$c?4:5;   echo $a; ?> 4

46、偵測一個變數是否有設定的函數是否?是否為空的函數是?(2分) isset() empty() 47.取得查詢結果集總數的函數是?(1分) mysql_num_rows() 48、

  1. $arr = array('james', 'tom', 'symfony'); 請印出第一個元素的值(1分)
  2. print_r($arr[0]);
  3. reset($arr);
  4. print_r(current($arr));
  5. print_r(array_shift($arr)); (程式設計師之家bbs .it-home.org 編輯整理)
複製程式碼

49、請將41題的陣列的值用','號分隔並合併成字串輸出(1分) implode 50、a=′abcdef′;請取出a的值並印出第一個字母(1分) $a[0]; substr($a, 0, 1); 51、php可以和sql server/oracle等資料庫連接嗎?(1分) 可以 有現成的庫 52.請寫出php5權限控制修飾符(3分) public private protected 53.請寫出php5的建構子和析構函式(2分) public function __construct() { } public function __destruct() { } 程式設計題    1. 寫一個函數,盡可能有效率的,從一個標準 url 裡取出檔案的副檔名 例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

  1. $url = "http://www.sina.com.cn/abc/de/fg.php?id= 1";
  2. arr=parseurl(url);
  3. patharr=pathinfo(arr['path']);
  4. print_r($patharr['extension']);
複製程式碼

3. 寫一個函數,算出兩個檔案的相對路徑 如 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; 計算出 b相對於a 的相對路徑應該是 http://www.cnblogs.com/12/34/c.php會添上

  1. $a = '/a/b/c/d/e.php';
  2. $b = '/ a/b/12/34/c.php';
  3. //取得path相對於conpath的相對路徑
  4. function sgetrelativepath(path,conpath)
  5. {
  6. patharr=explode("/" ,path);
  7. conpatharr=explode("/",conpath);
  8. $dismatchlen = 0;
  9. for(i=0;i {
  10. if(conpatharr[i] != patharr[i])
  11. {
  12. dismatchlen=count(patharr) - $i;
  13. arrleft=arrayslice(patharr, $i);
  14. break;
  15. }
  16. }
  17. ret=strrepeat("../",dismatchlen).implode("/", $arrleft);
  18. return $ret;
  19. }
  20. print_r(sgetrelativepath (b,a));
複製程式碼

3.寫一個函數,能夠遍歷一個資料夾下的所有檔案和子資料夾。

  1. function agetallfile($folder)
  2. {
  3. $afilearr = array(); {
  4. handle=opendir(folder);
  5. while((file=readdir(handle)) !== false)
  6. {
  7. //如果是.或..則跳過
  8. if(file=="."||file == "..")
  9. {
  10. continue;
  11. }
  12. if(is_file(folder."/ ".file))
  13. {
  14. afilearr[]=file;
  15. }
  16. else if(is_dir(folder."/".file))
  17. {
  18. afilearr[file] = agetallfile(folder."/".file);
  19. }
  20. }
  21. closedir($handle);
  22. }
  23. return $afilearr;
  24. }
  25. $path = "/home/test/sql";
  26. print_r(agetallfile($path));
複製程式碼

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話如何劫持工作,如何在PHP中減輕它? 會話如何劫持工作,如何在PHP中減輕它? Apr 06, 2025 am 12:02 AM

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

描述紮實的原則及其如何應用於PHP的開發。 描述紮實的原則及其如何應用於PHP的開發。 Apr 03, 2025 am 12:04 AM

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

在PHPStorm中如何進行CLI模式的調試? 在PHPStorm中如何進行CLI模式的調試? Apr 01, 2025 pm 02:57 PM

在PHPStorm中如何進行CLI模式的調試?在使用PHPStorm進行開發時,有時我們需要在命令行界面(CLI)模式下調試PHP�...

PHP 8.1中的枚舉(枚舉)是什麼? PHP 8.1中的枚舉(枚舉)是什麼? Apr 03, 2025 am 12:05 AM

PHP8.1中的枚舉功能通過定義命名常量增強了代碼的清晰度和類型安全性。 1)枚舉可以是整數、字符串或對象,提高了代碼可讀性和類型安全性。 2)枚舉基於類,支持面向對象特性,如遍歷和反射。 3)枚舉可用於比較和賦值,確保類型安全。 4)枚舉支持添加方法,實現複雜邏輯。 5)嚴格類型檢查和錯誤處理可避免常見錯誤。 6)枚舉減少魔法值,提升可維護性,但需注意性能優化。

如何在系統重啟後自動設置unixsocket的權限? 如何在系統重啟後自動設置unixsocket的權限? Mar 31, 2025 pm 11:54 PM

如何在系統重啟後自動設置unixsocket的權限每次系統重啟後,我們都需要執行以下命令來修改unixsocket的權限:sudo...

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

See all articles