PHP面試題一[轉]_PHP教程

來源:互聯網
上載者:User
1.用PHP列印前一天的時間,格式如2012-4-12 10:11:22
echo date("",strtotime(""));

format字元[a:am,pm小寫,A:AM,PM大寫 g小時,12時制 n月份 前無0]
strtotime()用法如下

phpecho strtotime (""), "";echo strtotime (""), "";echo strtotime (""), "";echo strtotime (""), "";echo strtotime (""), "";echo strtotime (""), "";echo strtotime (""), ""; 

2.echo() print() print_f()區別

echo()是一個php語句,所以沒有傳回值,能列印簡單的資料。
print()是一個函數,有傳回值,能列印簡單的資料。
print_r()是一個函數,能列印複雜的(mix)資料。

3.常見的PHP模板引擎

Smarty EasyTemplatePHP

4.哪些工具可以進資料列版本設定

SVN CVS

5.實現字元翻轉的函數

strrev($str);

6.最佳化Mysql資料庫的常用方法

(1).資料庫設計方面,這是DBA和Architect的責任,設計結構良好的資料庫,必要的時候,去正規化(英文是這個:denormalize,中文翻譯成啥我不知道),允許部分資料冗餘,避免JOIN操作,以提高查詢效率
(2).系統架構設計方面,表散列,把海量資料散列到幾個不同的表裡面.快慢表,快表只留最新資料,慢表是曆史存檔.叢集,主伺服器Read & write,從伺服器read only,或者N台伺服器,各機器互為Master
(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關係.檢查有沒有少加索引
(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如產生笛卡爾積的全串連啊,大量的Group By和order by,沒有limit等等.必要的時候,把資料庫邏輯封裝到DBMS端的預存程序裡面.緩衝查詢結果,explain每一個sql語句
(5).所得皆必須,只從資料庫取必需的資料,比如查詢某篇文章的評論數,select count(*) ... where article_id = ? 就可以了,不要先select * ... where article_id = ?然後msql_num_rows.
只傳送必須的SQL語句,比如修改文章的時候,如果使用者只修改了標題,那就update ... set title = ? where article_id = ?不要set content = ?(大文本)
(6).必要的時候用不同的儲存引擎.比如InnoDB可以減少死結.HEAP可以提高一個數量級的查詢速度

7.用PHP擷取用戶端IP及伺服器IP

用戶端:$_SERVER[‘REMOTE_ADDR’]或getenv(‘REMOTE_ADDR’);

伺服器:gethostbyname(“baidu.com”);

8.修改session的存留時間

<?phpsession_start(); // 儲存一天 $lifeTime = 24 * 3600; setcookie(session_name(), session_id(), time() + $lifeTime, "/"); ?>
9.寫出發貼數最多的十個人名字的sql,利用下表:members(id,username,posts,pass,email)
SELECT username FROM membersGROUP BY id ORDER BY count(posts) DESC LIMIT 0 , 10
 
10.簡述如何得到當前執行指令碼路徑,包括所得到參數。
echo $_SERVER['SCRIPT_FILENAME']."?".$_SERVER['QUERY_STRING'];
 
11.mysql_fetch_row() 和mysql_fetch_array之間有什麼區別?
mysql_fetch_row() 從和指定的結果標識關聯的結果集中取得一行資料並作為數組返回。每個結果的列儲存在一個數組的單元中,位移量從 0 開始。mysql_fetch_array() 是 mysql_fetch_row() 的擴充版本。除了將資料以數字索引方式儲存在數組中之外,還可以將資料作為關聯索引儲存,用欄位名作為鍵名。
 
12.判斷以下輸出
 $str1 = null; $str2 = false; echo $str1==$str2 ? '' : '';  //相等 $str3 = ''; $str4 = 0; echo $str3==$str4 ? '' : '';  //相等 $str5 = 0; $str6 = ''; echo $str5===$str6 ? '' : '';  //不相等
 
13.寫出以下結果
php $test = ''; $abc = & $test; unset($test); echo $abc;   
當你 unset 一個引用,只是斷開了變數名和變數內容之間的綁定。這並不意味著變數內容被銷毀了。

-----------未完待續-------------

http://www.bkjia.com/PHPjc/440291.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440291.htmlTechArticle1.用PHP列印前一天的時間,格式如2012-4-12 10:11:22 echo date(" ",strtotime(" ")); format字元[a:am,pm小寫,A:AM,PM大寫 g小時,12時制 n月份 前無0] strtoti...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.