-
- $a = date("y-m-d h:i:s", strtotime("-1 day"));
- print_r($a);
複製程式碼
2、echo(),print(),print_r()的區別(3分)
-
- echo 和print不是函數,是語言結構
- int print(string $arg), 只有一個參數
- echo arg1,arg2 ; 可以輸出多個參數,回傳void
- echo和print只能印出string,不能印出結構
- print_r能印出結構
- 如
- $arr = array("key"=> "value");
- print_r($arr);
-
複製程式碼
3.能夠使html和php分離開使用的模板(1分)
smarty,phplib
4.使用哪些工具進行版本控制?(1分)
svn,git,cvs
5.如何實現字串翻轉?(3分)
英文:
strrev($a)
中文或其他文字:
中文:gb2312, 代碼是使用gb2312編碼
-
-
function reverse($str)
- {
- $ret = "";
- len=mbstrwidth( str,"gb2312");
- for(i=0;i {
- arr[]=mbsubstr(str, $i, 1, "gb2312");
- }
- return implode("", array_reverse($arr));
- }
- print_r(reverse("你好"));
-
複製程式碼
複製程式碼
- 複製程式碼
-
-
-
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");
- 複製程式碼
-
-
- 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分)
-
-
-
class a
- {
- public $ name = "a";
- }
- $a = new a();
- n=a->name;
- print_r($n);
複製程式碼
34、mysql_fetch_row() 和mysql_fetch_array之間有什麼差別? (1分)
mysql_fetch_array() 是 mysql_fetch_row() 的擴充版本。除了將資料以數字索引方式儲存在陣列中之外,還可以將資料作為關聯索引儲存,並以欄位名稱作為鍵名。
-
-
-
mysql_connect("localhost", "mysql_user", "mysql_password") or
- die("could not connectnect . mysql_error());
- mysql_select_db("mydb");
- $result = mysql_query("select id, name from mytable");
- while (row=myfetcharray(result, mycharray(result, mycharray(result)) 🎜> printf ("id: %s name: %s", row["id"],row["name"]);
- }
- mysql_free_result($result);
-
複製程式碼
35.gd庫是做什麼用的? (1分)
動態的開放的圖片處理庫
36.指出一些在php輸入一段html程式碼的辦法。 (1分)
-
- echo "{html}"
- echo {html}
- eod;
{html}eod;
複製程式碼
- 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';
複製程式碼
- 複製程式碼
-
-
- 39、下面的程式會輸入是否?(1分) 10
-
-
-
-
-
$num = 10; function multiply(){ 〜10; multiply(); echo $num;
複製程式碼
-
- 40、使用php寫一段簡單名稱,查出所有名稱為「張三」的內容並印出(2分)
表名 username tel content date
張三 13333663366 大專畢業 2006-10-11
張三 13612312331 本科畢業 2006-10-15
張四 021-55665566 中專畢業 2006-10-15
請根據上面的題目完成程式碼:
-
-
-
-
-
- $mysql_db=mysql_connect("local","root","pass"); $sql = sprintf("select * from %s where username = '%s'",
- "表名",
- "張三");
- values=mysqlquery(sql);
- while(item=mysqlfetchqueryarray(values))
- {
echo sprintf("用戶名:%s, 電話%s, 學歷: %s, 畢業日期: %s", item[ ′username′],item['tel'], item[′content′],item['date'] ); }
複製程式碼
-
- 複製程式碼
-
-
- 41、如何使用下面的類別,並解釋下面什麼意思?(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、
-
- $arr = array('james', 'tom', 'symfony'); 請印出第一個元素的值(1分)
- print_r($arr[0]);
- reset($arr);
- print_r(current($arr));
- 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
-
-
$url = "http://www.sina.com.cn/abc/de/fg.php?id= 1";
- arr=parseurl(url);
- patharr=pathinfo(arr['path']);
- 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會添上
-
-
$a = '/a/b/c/d/e.php';
- $b = '/ a/b/12/34/c.php';
- //取得path相對於conpath的相對路徑
- function sgetrelativepath(path,conpath)
- {
- patharr=explode("/" ,path);
- conpatharr=explode("/",conpath);
- $dismatchlen = 0;
- for(i=0;i {
- if(conpatharr[i] != patharr[i])
- {
- dismatchlen=count(patharr) - $i;
- arrleft=arrayslice(patharr, $i);
- break;
- }
- }
- ret=strrepeat("../",dismatchlen).implode("/", $arrleft);
- return $ret;
- }
- print_r(sgetrelativepath (b,a));
-
複製程式碼
3.寫一個函數,能夠遍歷一個資料夾下的所有檔案和子資料夾。
-
-
function agetallfile($folder)
- {
- $afilearr = array(); {
- handle=opendir(folder);
- while((file=readdir(handle)) !== false)
- {
- //如果是.或..則跳過
- if(file=="."||file == "..")
- {
- continue;
- }
- if(is_file(folder."/ ".file))
- {
- afilearr[]=file;
- }
- else if(is_dir(folder."/".file))
- {
- afilearr[file] = agetallfile(folder."/".file);
- }
- }
- closedir($handle);
- }
- return $afilearr;
- }
- $path = "/home/test/sql";
- print_r(agetallfile($path));
-
複製程式碼
|