一、不用新變量直接交換現有兩個變量的值javascript
(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 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:21php
(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()的區別css
echo 是語言結構,無返回值; print 功能和 echo 基本相同,不一樣的是 print 是函數,有返回值;print_r是遞歸打印,用於輸出數組或對象
|
6.可以使HTML和PHP分離開使用的模板html
PHP自己是一種模版引擎,我用過的是smarty,常見的還有PHPLib,FastTemplate,Savant
|
7.使用哪些工具進行版本控制?java
CVS和SVN,SVN號稱下一代CVS,功能強大,不過CVS是老牌,市佔率很高.CVS Server on Apache做服務端,WinCVS做客戶端;<br>Subversion on Apache/DAV 作服務端,TortoiseSVN作客戶端,或者Subclipse作客戶端
|
8.如何實現字符串翻轉?mysql
其實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的代碼:jquery
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.執行程序段 將輸出__。web
(1) echo 8%(-2)。輸出:0
(2) echo (-8)%3 .輸出:-2
(3) echo 8%(-3).輸出:2
|
13.數組函數 arsort 的做用是____;語句 error_reporting(2047)的做用是____。ajax
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語句) 答: 一、選取最適用的字段屬性,儘量減小定義字段長度,儘可能把字段設置NOT NULL,例如’省份,性別’,最好設置爲ENUM 二、使用鏈接(JOIN)來代替子查詢: 三、使用聯合(UNION)來代替手動建立的臨時表 四、事務處理: 五、鎖定表,優化事務處理: 六、使用外鍵,優化鎖定表 七、創建索引: 八、優化查詢語句
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及更高版本): $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'];
}