Yahoo-PHP面试题4


Posted in 面试题 onMay 05, 2012
1. 給你一行文字 $string,你會如何編寫一個正規表達式,把 $string 內的 HTML 標籤除去?
2. PHP 和 Perl 分辨陣列和散列表的方法有什麼差異?
3. 你如何利用 PHP 解決 HTTP 的無狀態本質?
4. GD 函式庫用來做什麼?
5. 試寫出幾個輸出一段 HTML 代碼的方法。
6. PHP 比 Perl 好嗎?請討論。

以下是 Matt Wilkin 提供的解答:

1. 給你一行文字 $string,你會如何編寫一個正規表達式,把 $string 內的 HTML 標籤除去?
首先,PHP 有內建函式 strip_tags() 除去 HTML 標籤,為何要自行編寫正規表達式?好了,便當作是面試的一道考題吧,我會這樣回答:

$stringOfText = “

This is a test

“;
$expression = “/(.*?)/”;
echo preg_replace($expression, “\\2″, $stringOfText);
// 有人說也可以使用 /(]*>)/
$expression = “/(]*>)/”;
echo preg_replace($expression, “”, $stringOfText);

2. PHP 和 Perl 分辨陣列和散列表的方法有什麼差異?
這正是為何我老是告訴別人選擇適當的編程語言,若果你只用一種語言的話你怎麼能回答這道問題?這道問題很簡單,Perl 所有陣列變量都是以 @ 開頭,例如 @myArray,PHP 則沿用 $ 作為所有變量的開頭,例如 $myArray。
至於 Perl 表示散列表則用 %,例如 %myHash,PHP 則沒有分別,仍是使用 $,例如 $myHash。
3. 你如何利用 PHP 解決 HTTP 的無狀態本質?
最主要的倆各選擇是 session 和 cookie。使用 session 的方法是在每一頁的開始加上 session_start(),然後利用 $_SESSION 散列表來儲存 session 變量。至於 cookie 你只需記著一個原則:在輸出任何文字之前調用 set_cookie() 函式,此外只需使用 $_COOKIE 散列表便可以存取所有 cookie 變量。
還有一個不那麼可靠的方法,就是利用訪客的 IP 地址,這個方法有特定的危險性。
4. GD 函式庫用來做什麼?
這個可能是我最喜歡的函式庫,自從 PHP 4.3.0 版本後 GD 便內建在 PHP 系統中。這個函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是製作所圖檔。GD 以外的另一個選擇是 ImageMagick,但這個函式庫並不內建於 PHP 之中,必須由系統管理員安裝在伺服器上。
5. 試寫出幾個輸出一段 HTML 代碼的方法。
嗯,你可以使用 PHP 中任何一種輸出語句,包括 echo、print、printf,大部分人都使用如下例的 echo:

echo “My string $variable”;

你也可以使用這種方法:

echo This text is written to the screen as output and this $variable is parsed too.
If you wanted you can have 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;

6. PHP 比 Perl 好嗎?請討論。
我們不要為一個簡單的問題引發一場舌戰,正如我經常說的:「為工作選擇適合的語言,不要把工作遷就語言。」我個人認為 Perl 十分適合用作命令行工具,雖然它在網頁應用上也有不錯的表現,但是它的真正實力在命令行上才能充分發揮。同樣地,PHP 雖然可以在控制台的環境中使用,但是個人認為它在網頁應用上有更好的表現,PHP 有大量專門為網頁應用而設計的函式,Perl 則似乎以命令行為設計之本。
個人來說兩種語言我都喜歡,在大學期間我經常使用 Perl、PHP 和 Java,可惜工作上我使用 C#,但在家裡我花不少時間操練 PHP、Perl、Ruby(現正學習)和 Java,保持我的技能知識在最新狀態。很多人問我 C 和 C++ 怎麼樣,它們是否仍有機會在我的應用中佔一席位,我的答案基本上是「否」,我近來的工作主要集中在網頁開發,雖然 C 和 C++ 也可以用來寫網頁,但它們到底不是為這種工作而設計的,「為工作選擇適合的語言」,若果我需要編寫一個控制台應用,用來展示 bubble sort、quick sort 和 merge sort 的效能比較,我一定會使用 C / C++。若果我需要編寫一個相片簿系統,我會使用 PHP 或者 C#(我認為製作用戶介面方面 .NET 語言比網頁更加)。

Tags in this post...

面试题 相关文章推荐
解释一下抽象方法和抽象类
Aug 27 面试题
同步和异步有何异同,在什么情况下分别使用他们?举例说明
Feb 27 面试题
如何打开WebSphere远程debug
Oct 10 面试题
中软Java笔试题
Nov 11 面试题
函数指针的定义是什么
Aug 14 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
May 18 面试题
.NET常见笔试题集
Dec 01 面试题
酷瑞网络科技面试题
Mar 30 面试题
Java程序员面试题
Sep 27 面试题
SOA面试题:如何在SOA中实现松耦合
Jul 21 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
Yahoo-PHP面试题3
Jan 14 #面试题
Yahoo-PHP面试题2
Dec 06 #面试题
Yahoo-PHP面试题1
Jul 20 #面试题
PHP面试题附答案
Nov 28 #面试题
Yahoo的PHP面试题
May 26 #面试题
PHP数据运算类型都有哪些
Nov 05 #面试题
一套PHP的笔试题
May 31 #面试题
You might like
PHP 透明水印生成代码
2012/08/27 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
js实现日历的简单算法
2017/01/24 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
深入理解python中的闭包和装饰器
2016/06/12 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
年终考核实施方案
2014/05/26 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
业务员工作态度散漫检讨书
2014/11/02 职场文书
2014年技术员工作总结
2014/11/18 职场文书
钱学森电影观后感
2015/06/04 职场文书