1、不用新變量直接交換現有兩個變量的值
(1)list($a,$b)=array($b,$a);
(2)a=a+b,b=a-b,a=a-b
function daxie($num){
$da_num = array('零','一','二','三','四','五','六','七','八','九');
$return = '';
$len_num = strlen($num);
if(!is_numeric($num) || $len_num < 0){
return '';
}
for($i=0;$i<$len_num;$i++){
$return .= $da_num[ substr($num,$i,1)];
}
return$return;
}
select * from table where (ID = 10) or (ID = 32) or (ID = 22) or (ID = 76) or (ID = 13) or (ID = 44) 讓結果按10,32,22,76,13,44的順序檢索出來,請問如何書寫?
select * from table
where id in (10,32,22,76,13,44)
order by charindex(id,'10,32,22,76,13,44') desc
4.用PHP打印出前一天的時間,格式是2006-5-10 22:21:21
(1)echo date('Y-m-d H:i:s',time()-60*60*24);
(2)echo date('Y-m-d H:i:s',strtotime('-1 day'))
|
5. echo(),print(),print_r()的區別
echo是語言結構,無返回值;print功能和echo基本相同,不同的是print是函數,有返回值;print_r是遞歸打印,用於輸出數組或對象
|
6.能夠使HTML和PHP分離開使用的模板
PHP本身是一種模版引擎,我用過的是smarty,常見的還有PHPLib,FastTemplate,Savant
|
7.使用哪些工具進行版本控制?
CVS和SVN,SVN號稱下一代CVS,功能強大,不過CVS是老牌,市占率很高.CVS Server on Apache作服務端,WinCVS作客戶端;<br>Subversion on Apache/DAV 做服務端,TortoiseSVN做客戶端,或者Subclipse做客戶端
|
8.如何實現字符串翻轉?
其實PHP本身就有字符串翻轉的函數:strrev(),不過這種方法都不能解決中文字符串翻轉的問題,會出錯的。
<?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;
?>
|
(1).數據庫設計方面,這是DBA和Architect的責任,設計結構良好的數據庫,必要的時候,去正規化(英文是這個:denormalize),<br> 允許部分數據冗余,避免JOIN操作,以提高查詢效率
(2).系統架構設計方面,表散列,把海量數據散列到幾個不同的表里面.快慢表,快表只留最新數據,慢表是歷史存檔.集群,主服務器Read & write,<br> 從服務器read only,或者N台服務器,各機器互為Master
(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關系.檢查有沒有少加索引
(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有limit等等.<br> 必要的時候,把數據庫邏輯封裝到DBMS端的存儲過程里面.緩存查詢結果,explain每一個sql語句
(5).所得皆必須,只從數據庫取必需的數據,比如查詢某篇文章的評論數,select count(*) … where article_id = ? <br> 就可以了,不要先select * … where article_id = ?然后msql_num_rows.
只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標題,那就update … set title = ? where article_id = ?<br> 不要set content = ?(大文本)
(6).必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數量級的查詢速度
|
10.用PHP寫出顯示客戶端IP與服務器IP的代碼:
echo '客戶端IP:'.$_SERVER['REMOTE_ADDR'].'<br />';
echo '服務器端IP:'.gethostbyname($_SERVER['SERVER_NAME']);
|
11.在PHP中,當前腳本的名稱(不包括路徑和查詢字符串)記錄在預定義變量(1)中;而鏈接到當前頁面的URL記錄在預定義變量(2)中。前執行腳本的絕對路徑名(3),正在瀏覽當前頁面用戶的 IP 地址(4),查詢(query)的字符串(URL 中第一個問號 ? 之后的內容):id=1&bi=2(5),當前運行腳本所在的文檔根目錄(6)。
(1)$_SERVER['SCRIPT_FILENAME'];或者$_SERVER['PHP_SELF']<br>(2)$_SERVER['HTTP_REFERER']
(3)$_SERVER['SCRIPT_FILENAME'];<br>(4)$_SERVER['REMOTE_ADDR'];<br>(5)$_SERVER['QUERY_STRING'];<br>(6)$_server['DOCUMENT_ROOT'];
|
12.執行程序段 將輸出__。
(1)echo 8%(-2)。輸出:0
(2)echo (-8)%3 .輸出:-2
(3)echo 8%(-3).輸出:2
|
13.數組函數 arsort 的作用是____;語句 error_reporting(2047)的作用是____。
arsort:對數組進行逆向排序並保持索引關系
error_reporting(2047)的作用是:report All errors and warnings
|
$a="<script type='text/javascript'>XXXXXXXXXXXXXXX</script>";<br>echo preg_replace('/\<script[^>]*?>.*<\/script\>/is','',$a);
|
然后再用語句____使得Apache把所有擴展名為php的文件都作為PHP腳本處理。
LoadModule php5_module "c:/php/php5apache2.dll";
AddType application/x-httpd-php .php
|
serialize() /unserialize()
|
(1) 配置優化(服務器配置) (2)建表優化(表、字段設置) (3)查詢優化(sql語句) 答: 1、選取最適用的字段屬性,盡可能減少定義字段長度,盡量把字段設置NOT NULL,例如’省份,性別’,最好設置為ENUM 2、使用連接(JOIN)來代替子查詢: 3、使用聯合(UNION)來代替手動創建的臨時表 4、事務處理: 5、鎖定表,優化事務處理: 6、使用外鍵,優化鎖定表 7、建立索引: 8、優化查詢語句
18.數據庫中的事務是什么?
事務(transaction)是作為一個單元的一組有序的數據庫操作。如果組中的所有操作都成功,則認為事務成功,即使只有一個操作失敗,事務也不成功。如果所有操作完成, 事務則提交,其修改將作用於所有其他數據庫進程。如果一個操作失敗,則事務將回滾,該事務所有操作的影響都將取消。
19.如何修改SESSION的生存時間
方法1:將php.ini中的session.gc_maxlifetime設置為9999重啟apache
方法2:$savePath = "./session_save_dir/"; $lifeTime = 小時 * 秒;
session_save_path($savePath);
session_set_cookie_params($lifeTime); session_start();
方法3:setcookie() and session_set_cookie_params($lifeTime);
20.有一個網頁地址, 比如PHP開發資源網主頁: http://www.phpres.com/index.html,如何得到它的內容?
方法1(對於PHP5及更高版本):PHP是一種跨平台的服務器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法 , 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態生成頁面.它支持目前絕大多數數據庫。還有一點,PHP是完全免費的,不用花錢,而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。
JSP 是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病-- 腳本級執行,Jsp 可以在Serverlet和JavaBean的支持下,功能強大。
- 我們在使用哪個版本的 PHP?
- PHP 標簽有那些?
- 在一個純 PHP 文件(例如,僅包含一個類定義的文件)中包含一個關閉?>標簽時,確保其后不會跟着任何換行。 說說你的理解。
- 自動加載類,有那些方法?
- 單引號和雙引號有什么異同?
- define() vs. Const ?
- 有多種方式來配置一個 web 服務器以提供 PHP 服務。你知道哪幾種?
- 凈化 HTML 輸入和輸出,如何處理?
- PHP 中的UTF-8,你有什么認識?
- php處理日期和時間方式?
‘ ‘ 單引號里面的不進行解釋,直接輸出。
strtr: strtr在短字符串替換的時候也是挺高效的,不過search數組的下標長度的差別也對效率產生比較大的影響,還有就是沒事最好不要使用strtr(string, string, string)這種形式(對於非單字節字符很容易產生亂碼)。
preg_replace:這個不用說,可以使用正則匹配,功能絕對是最強的,不過也是要犧牲一點效率的。
$conn=mysql_pconnect("localhost","root","123456");//打開連接
mysql_select_db("數據庫名",$conn);//連接到指定的數據庫
mysql_query("set names utf8");//設置字符編碼
$sql="";
$R=mysql_query($sql);//執行SQL語句返回結果集
while($v=mysql_fetch_array($R)){
echo "字段名".$v['title'];
}
