php面试宝典
if (strpos("abc","a") == true){ // 这部份永不会被履行,由于 "a" 的位置是 0,换算成布尔值“假”}if (strpos("abc","a") === true){ // 这部分会被履行,由于“===”保证函式 strpos() 的送回值不会换算成布尔值.} 84、你会如何定义1个没有成员函式或特性的种别 myclass? class myclass{} 85、你如何产生1个 myclass 的物件? $obj = new myclass(); 86、在1个种别内如何存取这个种别的特性及变改它的值? 使用语句:$this->propertyName,例如: class myclass{ private $propertyName; public function __construct() { $this->propertyName = "value"; }} 87、include 和 include_once 有甚么分别?require 又如何? 3者都是用来在脚本中插入其他档案,视乎 url_allow_fopen 是不是核准,这个档案可以从系统内部或外部获得。但他们之间也有微细的分别: include():这个函式容许你在脚本中把同1个档案插入屡次,若果档案不存在,它会发出系统正告并继续履行脚本。 include_once():它跟 include() 的功能相似,正如它的名字所示,在脚本的履行期间,有关档案只会被插入1次。 require():跟 include() 差不多,它也是用来在脚本中插入其他档案,但如果果档案不存在,它会发出系统正告,这个正告会引致致命毛病令脚本中断履行 88、以下哪个函式可以把阅读器转向到另外一个页面? redir() 这不是1个 PHP 函式,会引致履行毛病。 header() 这个是正确答案,header() 用来插入卷头资料,可以用来使阅读器转向到另外一个页面,例如: header("Location: http://www.search-this.com/"); location() 这不是1个 PHP 函式,会引致履行毛病。 redirect() 这不是1个 PHP 函式,会引致履行毛病。 89、以下哪个函式可以用来开启档案以便读/写? fget() 这不是1个 PHP 函式,会引致履行毛病。 file_open() 这不是1个 PHP 函式,会引致履行毛病。 fopen() 这是正确答案,fopen() 可以用来开启档案以便读/写,事实上这个函式还有很多选项,详细资料请参阅 php.net。 open_file() 这不是1个 PHP 函式,会引致履行毛病。 90、mysql_fetch_row() 和 mysql_fetch_array() 有甚么分别? mysql_fetch_row() 把数据库的1列贮存在1个以零为基数的阵列中,第1栏在阵列的索引 0,第2栏在索引 1,如此类推。mysql_fetch_assoc() 把数据库的1列贮存在1个关联阵列中,阵列的索引就是栏位名称,例如我的数据库查询送回“first_name”、“last_name”、“email”3个栏位,阵列的索引便是“first_name”、“last_name”和“email”。mysql_fetch_array() 可以同时送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。 91、下面的代码用来做甚么?请解释。 $date='08/26/2003';print ereg_replace("([0⑼]+)/([0⑼]+)/([0⑼]+)","2/1/3",$date); 这是把1个日期从 MM/DD/YYYY 的格式转为 DD/MM/YYYY 格式。我的1个好朋友告知我可以把这个正规表达式拆解为以下的语句,对如此简单的表示是来讲其实不必拆解,纯洁为了解说的方便: // 对应1个或更多 0⑼,后面紧随1个斜号$regExpression = "([0⑼]+)/";// 应1个或更多 0⑼,后面紧随另外一个斜号$regExpression .= "([0⑼]+)/";// 再次对应1个或更多 0⑼$regExpression .= "([0⑼]+)";至于 2/1/3 则是用来对应括号,第1个括号对的是月份,第2个括号对应的是日期,第3个括号对应的是年份。 92、给你1行文字 $string,你会如何编写1个正规表达式,把 $string 内的 HTML 标签除去? 首先,PHP 有内建函式 strip_tags() 除去 HTML 标签,为什么要自行编写正规表达式?好了,便当作是面试的1道考题吧,我会这样回答: $stringOfText = "<p>This is a test</p>";$expression = "/<(.*?)>(.*?)</(.*?)>/";echo preg_replace($expression,"2",$stringOfText);// 有人说也能够使用 /(<[^>]*>)/ $expression = "/(<[^>]*>)/";echo preg_replace($expression,"",$stringOfText); 93、PHP 和 Perl 分辨阵列和散列表的方法有甚么差异? 这正是为什么我总是告知他人选择适当的编程语言,若果你只用1种语言的话你怎样能回答这道问题?这道问题很简单,Perl 所有阵列变量都是以 @ 开头,例如 @myArray,PHP 则沿用 $ 作为所有变量的开头,例如 $myArray。 至于 Perl 表示散列表则用 %,例如 %myHash,PHP 则没有分别,还是使用 $,例如 $myHash。 94、你如何利用 PHP 解决 HTTP 的无状态本质? 最主要的俩各选择是 session 和 cookie。使用 session 的方法是在每页的开始加上 session_start(),然后利用 $_SESSION 散列表来贮存 session 变量。至于 cookie 你只需记着1个原则:在输出任何文字之前调用 set_cookie() 函式,另外只需使用 $_COOKIE 散列表即可以存取所有 cookie 变量。 还有1个不那末可靠的方法,就是利用访客的 IP 地址,这个方法有特定的危险性。 95、GD 函式库用来做甚么? 这个多是我最喜欢的函式库,自从 PHP 4.3.0 版本后 GD 便内建在 PHP 系统中。这个函式库让你处理和显示各式格式的图档,它的另外一个常见用处是制作所图档。GD 之外的另外一个选择是 ImageMagick,但这个函式库其实不内建于 PHP 当中,必须由系统管理员安96、试写出几个输出1段 HTML 代码的方法。 嗯,你可使用 PHP 中任何1种输出语句,包括 echo、print、printf,大部份人都使用以下例的 echo: echo "My string $variable";你也能够使用这类方法: (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |