主頁 > 教育培訓(xùn) > 電腦培訓(xùn) > php面試題及答案面試時候更加從容(4)

php面試題及答案面試時候更加從容(4)

  16.下面的代碼用來做什么?請解釋。

  $date='08/26/2003';print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\\2/\\1/\\3",$date);

  這是把一個日期從 MM/DD/YYYY 的格式轉(zhuǎn)為 DD/MM/YYYY 格式。我的一個好朋友告訴我可以把這個正規(guī)表達式拆解為以下的語句,對于如此簡單的表示是來說其實無須拆解,純粹為了解說的方便:

  // 對應(yīng)一個或更多 0-9,后面緊隨一個斜號$regExpression = "([0-9]+)/";// 應(yīng)一個或更多 0-9,后面緊隨另一個斜號$regExpression .= "([0-9]+)/";// 再次對應(yīng)一個或更多 0-9$regExpression .= "([0-9]+)";至于 \\2/\\1/\\3 則是用來對應(yīng)括號,第一個括號對的是月份,第二個括號對應(yīng)的是日期,第三個括號對應(yīng)的是年份。

  17.給你一行文字 $string,你會如何編寫一個正規(guī)表達式,把 $string 內(nèi)的 HTML 標(biāo)簽除去?

  首先,PHP 有內(nèi)建函式 strip_tags() 除去 HTML 標(biāo)簽,為何要自行編寫正規(guī)表達式?好了,便當(dāng)作是面試的一道考題吧,我會這樣回答:

  $stringOfText = "

This is a test

";$expression = "/<(.*?)>(.*?)<\/(.*?)>/";echo preg_replace($expression, "\\2", $stringOfText);// 有人說也可以使用 /(<[^>]*>)/ $expression = "/(<[^>]*>)/";echo preg_replace($expression, "", $stringOfText);

 

  18.PHP 和 Perl 分辨陣列和散列表的方法有什么差異?

  這正是為何我老是告訴別人選擇適當(dāng)?shù)木幊陶Z言,若果你只用一種語言的話你怎么能回答這道問題?這道問題很簡單,Perl 所有陣列變量都是以 @ 開頭,例如 @myArray,PHP 則沿用 $ 作為所有變量的開頭,例如 $myArray。

  至于 Perl 表示散列表則用 %,例如 %myHash,PHP 則沒有分別,仍是使用 $,例如 $myHash。

  19.你如何利用 PHP 解決 HTTP 的無狀態(tài)本質(zhì)?

  最主要的倆各選擇是 session 和 cookie。使用 session 的方法是在每一頁的開始加上 session_start(),然后利用 $_SESSION 散列表來儲存 session 變量。至于 cookie 你只需記著一個原則:在輸出任何文字之前調(diào)用 set_cookie() 函式,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 變量。

  還有一個不那么可靠的方法,就是利用訪客的 IP 地址,這個方法有特定的危險性。

  20.GD 函式庫用來做什么?

  這個可能是我最喜歡的函式庫,自從 PHP 4.3.0 版本后 GD 便內(nèi)建在 PHP 系統(tǒng)中。這個函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是制作所圖檔。GD 以外的另一個選擇是 ImageMagick,但這個函式庫并不內(nèi)建于 PHP 之中,必須由系統(tǒng)管理員安裝在伺服器上。

  21.試寫出幾個輸出一段 HTML 代碼的方法。

  嗯,你可以使用 PHP 中任何一種輸出語句,包括 echo、print、printf,大部分人都使用如下例的 echo:

  echo "My string $variable";你也可以使用這種方法:

  echo << HTML tags in here as well. The END; remarks must be on a line of its own, and can't contain any extra white space.END;

  22.PHP 比 Perl 好嗎?請討論。

  我們不要為一個簡單的問題引發(fā)一場舌戰(zhàn),正如我經(jīng)常說的:“為工作選擇適合的語言,不要把工作遷就語言。”我個人認為 Perl 十分適合用作命令行工具,雖然它在網(wǎng)頁應(yīng)用上也有不錯的表現(xiàn),但是它的真正實力在命令行上才能充分發(fā)揮。同樣地,PHP 雖然可以在控制臺的環(huán)境中使用,但是個人認為它在網(wǎng)頁應(yīng)用上有更好的表現(xiàn),PHP 有大量專門為網(wǎng)頁應(yīng)用而設(shè)計的函式,Perl 則似乎以命令行為設(shè)計之本。

  個人來說兩種語言我都喜歡,在大學(xué)期間我經(jīng)常使用 Perl、PHP 和 Java,可惜工作上我使用 C#,但在家里我花不少時間操練 PHP、Perl、Ruby(現(xiàn)正學(xué)習(xí))和 Java,保持我的技能知識在最新狀態(tài)。很多人問我 C 和 C++ 怎么樣,它們是否仍有機會在我的應(yīng)用中占一席位,我的答案基本上是“否”,我近來的工作主要集中在網(wǎng)頁開發(fā),雖然 C 和 C++ 也可以用來寫網(wǎng)頁,但它們到底不是為這種工作而設(shè)計的,“為工作選擇適合的語言”,若果我需要編寫一個控制臺應(yīng)用,用來展示 bubble sort、quick sort 和 merge sort 的效能比較,我一定會使用 C / C++。若果我需要編寫一個相片簿系統(tǒng),我會使用 PHP 或者 C#(我認為制作用戶介面方面 .NET 語言比網(wǎng)頁更加)。

免責(zé)聲明:該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。返回查查吧首頁,查看更多>>
提示

該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。

優(yōu)惠商城

更多