一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

經(jīng)典PHP筆試題

時(shí)間:2020-12-15 16:25:47 筆試題目 我要投稿

經(jīng)典PHP筆試題

  PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開(kāi)源腳本語(yǔ)言。語(yǔ)法吸收了C語(yǔ)言、Java和Perl的特點(diǎn),利于學(xué)習,使用廣泛,主要適用于Web開(kāi)發(fā)領(lǐng)域。下面是yjbys整理的關(guān)于經(jīng)典PHP筆試題,歡迎閱讀!

經(jīng)典PHP筆試題

  1.考慮如下腳本。標記處應該添加什么代碼才能讓腳本輸出字符串php?

  $alpha = 'abcdefghijklmnopqrstuvwxyz';

  $letters = array(15, 7, 15);

  foreach($letters as $val)

  {/* 這里應該加入什么 */

  }?>

  A.echo chr($val);

  B.echo asc($val);

  C.echo substr($alpha, $val, 2);

  D.echo $alpha{$val};

  E.echo $alpha{$val+1}

  答案解析:substr 函數能夠勝任,但考慮到輸出三個(gè)字母就需要三次調用該函數,所以排除此方法。那么$alpha{$val}和$alpha{$val+1}是僅有的兩個(gè)可能輸出題目要求的字符串的選項。因為 0 是數

  組的第一個(gè)索引,所以答案是 D。

  2. 以下哪一項不能把字符串$s1 和$s2 組成一個(gè)字符串?

  A.$s1 + $s2

  B.”{$s1}{$s2}”

  C.$s1.$s2

  D.implode(”, array($s1,$s2))

  E.以上都可以

  答案解析:除 A 以外的選項都能輸出題目要求的字符串。PHP中,加號+不能把兩個(gè)字符串合并成一個(gè)。

  3. 變 量 $email 的 值 是 字 符 串 user@example.com , 以 下 哪 項 能 把 字 符 串 轉 化 成example.com?

  A.substr($email, strpos($email, “@”));

  B.strstr($email, “@”);

  C.strchr($email, “@”);

  D.substr($email, strpos($email, “@”)+1);

  E.strrpos($email, “@”);

  答案解析:substr 函數返回字符串的一部分,而 strpos 函數擅長(cháng)從一個(gè)字符串中找出某個(gè)指定的子串。同時(shí)使用這兩個(gè)函數將滿(mǎn)足題目要求。注意,前一個(gè)函數從 0 開(kāi)始索引,而后者不是,因此需

  要+1。答案是 D。

  4. 給定一個(gè)用逗號分隔一組值的字符串,以下哪個(gè)函數能在僅調用一次的情況下就把每個(gè)獨立的值放入一個(gè)新創(chuàng )建的數組?

  A.strstr()

  B.不可能只調用一次就完成

  C.extract()

  D.explode()

  E.strtok()

  答案解析:答案是 D。explode 函數使用一個(gè)字符串分隔另一個(gè)字符串,并把結果放入一個(gè)新建的數組。strtok 函數也可以做同樣的事,但需要多次調用。

  5. 要比較兩個(gè)字符串,以下那種方法最萬(wàn)能?

  A.用 strpos 函數

  B.用==操作符

  C.用 strcasecmp()

  D.用 strcmp()

  答案解析:答案是 D。strcmp()提供了安全的字符串比較機制。注意,選項 C 是錯的,strcasecmp()不是一個(gè)“萬(wàn)能”函數,因為它不區分大小寫(xiě)。

  6. 以下哪個(gè) PCRE 正則表達式能匹配字符串 php|architect?

  A..*

  B.…|………

  C.\d{3}\|\d{8}

  D.[az]{3}\|[az]{9}

  E.[a-z][a-z][a-z]\|\w{9}

  答案解析:選項中沒(méi)有一個(gè)正則表達式能真正代表題目所給字符串的匹配方式,但是選項 A 和 E仍然能勉強匹配。選項 A 太普通了,它能夠匹配任何字符串,因此答案是 E。

  7. 以下哪些函數能用來(lái)驗證字符串的完整性?(三選)

  A.md5()

  B.sha1()

  C.str_rot13()

  D.crypt()

  E.crc32()

  答案解析:正確答案是 A,B 和 E。用 crypt()和 str_rot13()來(lái)驗證一個(gè)字符串是否被改變,效率很低。crc32()比前面兩個(gè)函數好些,如果能容忍一些小錯誤的話(huà),它是個(gè)不錯的選擇。

  8. 哪個(gè) PHP 函數與以下腳本在 UNIX 系統下執行的效果近似?

  function my_funct ($filename)

  {

  $f = file_get_contents ($filename);

  return explode ("\n", $f);

  }

  ?>

  A.fopen()

  B.fread()

  C.flock()

  D.split_string()

  E.file()

  答案解析:正確答案是 A,B 和 E。用 crypt()和 str_rot13()來(lái)驗證一個(gè)字符串是否被改變,效率很低。crc32()比前面兩個(gè)函數好些,如果能容忍一些小錯誤的話(huà),它是個(gè)不錯的選擇。

  9. 基于指定的式樣(pattern)把一個(gè)字符串分隔開(kāi)并放入數組,以下哪些函數能做到?(雙

  選)

  A.preg_split()

  B.ereg()

  C.str_split()

  D.explode()

  E.chop()

  答案解析:盡管條件不同,但 preg_split 和 explode 函數都能滿(mǎn)足題目要求。ereg()拿一個(gè)正則表達式匹配一個(gè)字符串;str_split()按固定長(cháng)度分隔字符串;而 chop()則是 rtrim()別名,用來(lái)移除

  字符串末尾處的空格。

  10.以下腳本輸出什么?

  echo 'Testing ' . 1 + 2 . '45';

  ?>

  A.Testing 1245

  B.Testing 345

  C.Testing 1+245

  D.245

  E.什么都沒(méi)有

  答案解析:本題考察你對字符串操作及操作符優(yōu)先級的認識。連接運算符(.)的優(yōu)先級比加號(+)高。因此 PHP 解釋器實(shí)際執行的運算可以表示為(‘Testing’ . 1) + (2 . ‘45’)。由于字符串

  test 1 不是數字,所以加號前面的運算等于 0。加號后面的運算等于 245,PHP 輸出的'結果是 0+245,等于 245,所以答案是 D。

  11.以下腳本輸出什么?

  $s = '12345';

  $s[$s[1]] = '2';

  echo $s;

  ?>

  A.12345

  B.12245

  C.22345

  D.11345

  E.Array

  答案解析:可以用訪(fǎng)問(wèn)數組元素的方式訪(fǎng)問(wèn)字符串中的字符,因此腳本只是把字符串中的第二個(gè)字符($s[1])替換成了字符 2,最終將輸出 12245。答案是 B。

  12.方框中的正則表達式能與以下哪些選項匹配?(雙選)

  /.*\*123\d/

  A.******123

  B.*****_1234

  C.******1234

  D._*1234

  E._*123

  答案解析:本題的要點(diǎn)是理解這個(gè)正則表達式的含義——從左往右,首先是零個(gè)或多個(gè)任意字符(.*),跟著(zhù)是一個(gè)星號(\*),然后是 123,最后是一個(gè)數字。因此答案是 C 和 D。

  13.以下哪個(gè)比較將返回 true?(雙選)

  A.‘1top’ == ‘1’

  B.‘top’ == 0

  C.‘top’ === 0

  D.‘a’ == a

  E.123 == ‘123’

  答案解析:B 和 E 正確。選項 B 中,在比較時(shí),字符串 top 等同于數字 0。==操作符不比對數據類(lèi)型,所以將返回 true。答案 E 中,字符串 123 等同于數字 123,比較將返回 true。

  14.如果用+操作符把一個(gè)字符串和一個(gè)整型數字相加,結果將怎樣?

  A.解釋器輸出一個(gè)類(lèi)型錯誤

  B.字符串將被轉換成數字,再與整型數字相加

  C.字符串將被丟棄,只保留整型數字

  D.字符串和整型數字將連接成一個(gè)新字符串

  E.整形數字將被丟棄,而保留字符串

  答案解析:字符串將被轉換成數字(如果無(wú)法發(fā)生轉換就是 0),然后與整型數字相加。答案是 B。

  15.考慮如下腳本。假設 http://www.php.net 能被訪(fǎng)問(wèn),腳本將輸出什么?

  

  $s = file_get_contents ("http://www.php.net");

  strip_tags ($s, array ('p'));

  echo count ($s);

  ?>

  A.www.php.net 的主頁(yè)的字符數

  B.剔除標簽后的 www.php.net 主頁(yè)的字符數

  C.1

  D.0

  E.剔除以外的標簽后的 www.php.net 主頁(yè)的字符數

  答案解析:代碼的本意是剔除 www.php.net 主頁(yè)上除了 p 以外的的所有 HTML 標簽?蓪(shí)際上,在代碼的最后一行使用了 count 函數,它統計變量中的元素數量,而不是字符串中的字符數。由于字符

  串是標量,對字符串使用 count 函數將永遠返回 1。答案是 C。

  16.哪個(gè)函數能不區分大小寫(xiě)得對兩個(gè)字符串進(jìn)行二進(jìn)制比對?

  A.strcmp()

  B.stricmp()

  C.strcasecmp()

  D.stristr()

  E.以上都不能

  答案解析:題目其實(shí)就是在描述 strcasecmp 函數的作用,因此答案是 C。

  17.以下哪些函數能把字符串里存儲的二進(jìn)制數據轉化成十六進(jìn)制?(雙選)

  A.encode_hex()

  B.pack()

  C.hex2bin()

  D.bin2hex()

  E.printf()

  答案解析:正確答案是 B 和 D。pack 函數能對二進(jìn)制數據進(jìn)行復雜的格式化,包括將字符串中的字符轉化成十六進(jìn)制表示。bin2hex 函數也有同樣的轉化功能。注意,printf()能將整數轉化成十六進(jìn)

  制數,但無(wú)法轉化字符串。

  18.哪個(gè)函數能用來(lái)確保一個(gè)字符串的字符數總是大于一個(gè)指定值?

  答案解析:這是在說(shuō) str_pad 函數,它可以把字符串填充到指定長(cháng)度。

  19.以下腳本輸出什么?

  

  echo wordwrap ($a, 1, "c", false);

  ?>

  答案解析:腳本將輸出 ablecostscindy。wordwrap 函數通常用來(lái)把字符串切割成指定長(cháng)度。然而在本題中,長(cháng)度被設置為 1,因此函數將從空格處切割(第四個(gè)參數被設置為 false,因此函數不會(huì )從

  單詞的中間進(jìn)行切割)。填充字符串是 c,等于把每個(gè)空格都換成了 c。

  20.以下腳本輸出什么?

  

  echo substr_replace ($x, 'x', 1, 2);

  ?>

  A.x

  B.axle

  C.axxle

  D.applex

  E.xapple

  答案解析:腳本將輸出 ablecostscindy。wordwrap 函數通常用來(lái)把字符串切割成指定長(cháng)度。然而在本題中,長(cháng)度被設置為 1,因此函數將從空格處切割(第四個(gè)參數被設置為 false,因此函數不會(huì )從

  單詞的中間進(jìn)行切割)。填充字符串是 c,等于把每個(gè)空格都換成了 c。

【經(jīng)典PHP筆試題】相關(guān)文章:

PHP經(jīng)典筆試題01-01

PHP筆試題01-02

幾道PHP筆試題01-03

php練習筆試題07-24

PHP面試題集01-03

PHP筆試題含答案01-01

PHP筆試題及答案01-01

Yahoo-PHP筆試題01-01

360筆試題目07-11

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看