PHP測試題3

31 什么是靜態(tài)變量?
如果一個函數(shù)內(nèi)定義的變量前使用關(guān)鍵字static來聲明,那么該變量就是靜態(tài)變量。 一般函數(shù)內(nèi)的變量在函數(shù)調(diào)用結(jié)束后,其存儲的數(shù)據(jù)將被清除,所占的內(nèi)存空間也被釋放。而使用靜態(tài)變量時, 該變量會在函數(shù)第一次被調(diào)用時被初始化,初始化后該變量也不會被清除,當再次調(diào)用該函數(shù)時,這個靜態(tài)變量 不再被初始化,而能保存上次函數(shù)執(zhí)行完后的值。可以說靜態(tài)變量在所有對該函數(shù)的調(diào)用之間共享。

32 php中函數(shù)傳遞參數(shù)的方式有哪些?兩者有什么區(qū)別?
按值傳遞和按地址傳遞(或按引用傳遞) (1)按值傳遞: 待傳遞的變量,與傳遞給函數(shù)之后的變量是存儲在不同的空間中。所以函數(shù)體內(nèi)對 該變量值做的修改,不影響原本的變量值。 (2)按地址傳遞: 使用 & 符號,表明該參數(shù)是以地址的方式傳遞值。并不會將主程序中的指定數(shù)值或目標變量傳遞給函數(shù),而是把該數(shù)值或變量的內(nèi)存儲存區(qū)塊地址導(dǎo)入函數(shù)之中,所以函數(shù)體內(nèi)的該變量和主程序中的該變量在內(nèi)存 中是同一個。函數(shù)體做的修改,直接影響到函數(shù)體外部的該變量的值。

33 判斷一個函數(shù)是否存在?
function_exists( string $function_name ) 如果存在,返回true, 不存在則返回 false。

34 func()和@func()之間有什么區(qū)別?
第二個函數(shù)調(diào)用失敗不會報錯,第一個會報錯

35 include()和require()函數(shù)的用法和區(qū)別是什么?include_once()和require_once()呢?
include()和require()的區(qū)別 require() :如果文件不存在,會報出一個fatal error.腳本停止執(zhí)行 include() : 如果文件不存在,會給出一個 warning,但腳本會繼續(xù)執(zhí)行 這里特別要注意的是: 使用include()文件不存在時,腳本繼續(xù)執(zhí)行,這種情況只出現(xiàn)在PHP 4.3.5之前,這一點,往往被人忽視。 推薦使用require_once()和include_once(),可以檢測文件是否有重復(fù)包含。
include_once (require_once)語句在腳本執(zhí)行期間包含并運行指定文件。此行為和 include (require)語句類似,區(qū)別是如果該文件中的代碼已經(jīng)被包含了,則不會再次包含,只會包含一次。include_once(require_once)需要查詢一遍已加載的文件列表, 確認是否存在, 然后再加載。

36 字符串運算符“.”與算術(shù)運算符“+”有什么區(qū)別?
當“a”“b”之間使用.時認為是連字符。如果兩者間是+的時候php會認為是一次運算。 1)如果+號兩邊的字符串是數(shù)字組成的,那么會將字符串自動轉(zhuǎn)為整型; 2)如果+號兩邊是純粹的字母,那么會輸出0; 3)如果+號兩邊的字符串是以數(shù)字開頭的,那么會截取字符串開頭的數(shù)字,然后進行運算。

37 什么是三目(或三元)運算符?
根據(jù)一個表達式的結(jié)果在另兩個表達式中選擇一個。 例如: ($a==true) ? 'good':'bad';

38 控制流程語句有哪些?
1:三種程序結(jié)構(gòu) 順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 2:分支: if/esle/esleif/ switch/case/default 3: switch 需要注意的: case子句中的常量可以是整型、字符串型常量、 或者常量表達式,不允許是變量。 同一個switch子句中,case的值不能相同,否則只能取到首次出現(xiàn)case中的值。 4: 循環(huán) for while do...while do...while 后面必須加入分號結(jié)尾。 while 和 do...while 的區(qū)別 5:break 和 continue 的區(qū)別。 break可以終止循環(huán)。 continue沒有break強大,只能終止本次循環(huán)而進入到下一次循環(huán)中。

39 數(shù)組的概念是什么?數(shù)組根據(jù)索引分為哪兩種,如何區(qū)分?數(shù)組的賦值方式有哪兩種?
數(shù)組是一個可以存儲一組或一系列數(shù)值的變量(復(fù)合型變量) 索引數(shù)組(索引值為數(shù)字,以0開始)和關(guān)聯(lián)數(shù)組(以字符串作為索引值) 數(shù)組的賦值方式有哪兩種? 數(shù)組的聲明方式主要有兩種。 1.通過array()函數(shù)聲明數(shù)組; 可以通過key=>value的方式分別定義索引和值,也可以不定義數(shù)組的索引下標,只給出數(shù)組的元素值。 2.直接為數(shù)組元素賦值,不需要調(diào)用array()函數(shù)。例如: $arr[0] = 1; $arr[1] = 2; 特別注意: 數(shù)組的下標如果是等價于整數(shù)的字符串值(但不能以0開頭),則會被當作整數(shù)對待。 例如: $array[3] 與 $array['3'] 引用的是相同的一個元素,而 $array['03'] 引用的則就是另外的一個元素了。
40 數(shù)組如何遍歷?
①for循環(huán)
②foreach循環(huán) ,這是最常用的遍歷方式。用法如下:foreach($arr as $key=>$value){}
③list each 和while 配合起來循環(huán)

41 foreach數(shù)組的時候指針是如何指向的?list()/each()/while()循環(huán)數(shù)組的時候指針如何指向的呢?
當foreach開始執(zhí)行的時候,數(shù)組內(nèi)部的指針會自動指向第一個單元,因為foreach所操作的是指定數(shù)組的拷貝,而不是數(shù)組本身。
而each()一個數(shù)組后,數(shù)組指針將停留在數(shù)組中的下一個單元或者碰到數(shù)組結(jié)尾時停留在最后一個單元,如果再次使用each()遍歷數(shù)組,必須使用reset()。
reset()將數(shù)組的內(nèi)部指針倒回到第一個單元并返回第一個數(shù)組單元的值。

42 如何計算數(shù)組長度(或者說計算數(shù)組中所有元素的個數(shù))?字符串怎么取長度?
count() -- 計算數(shù)組中的元素個數(shù)。
可以使用count(數(shù)組名)或者count(數(shù)組名,1),如果有第二個參數(shù),并且是數(shù)字1,則表示遞歸統(tǒng)計數(shù)組元素的個數(shù)。
如果第二個參數(shù)是數(shù)字0,則等同于只有一個參數(shù)的count()函數(shù)。
sizeof() -- count() 的別名
字符串:strlen()、mb_strlen();

43 數(shù)組中相關(guān)的常用函數(shù)有哪些?
1) count --(sizeof別名)— 計算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€數(shù)
例如:int count ( mixed $var [, int $mode ] ) $var 通常都是數(shù)組類型,任何其它類型都只有一個單元。 $mode 默認值為0. 1為開啟遞歸地對數(shù)組計數(shù)
2) in_array ( mixed $needle , array $haystack [, bool $strict ] ) — 檢查數(shù)組中是否存在某個值。
如果 needle 是字符串,則比較是區(qū)分大小寫的。
如果第三個參數(shù) strict 的值為 TRUE 則 in_array() 函數(shù)還會檢查 needle 的類型是否和 haystack 中的相同。
3) array_merge(array $array1 [, array $array2 [, array $... ]] ) 將一個或多個數(shù)組的單元合并起來,一個數(shù)組中的值附加在前一個數(shù)組的后面。返回作為結(jié)果的數(shù)組。
特別注意:如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引

4) 數(shù)組與字符串之間的轉(zhuǎn)換
(1)explode ( string $separator , string $string [, int $limit ] ) 使用一個分隔字符來分隔一個字符串。
(2)implode ( string $glue , array $arr ) 使用一個連接符將數(shù)組中的每個單元連接為一個字符串。
join 為 implode 的別名

5) sort(array &$array [, int $sort_flags ]) — 對數(shù)組按照值排序,當本函數(shù)結(jié)束時數(shù)組單元將被從最低到最高重新安排。

44 數(shù)組合并函數(shù)array_merge()和數(shù)組加法運算$arr + $arr2 的區(qū)別是什么?
array_merge()->使用array_merge(),如果是關(guān)聯(lián)數(shù)組合并,如果數(shù)組的鍵名相同,那么后面的值將覆蓋前者;如果是數(shù)字索引數(shù)組合并,則不覆蓋,而是
后者附加到前者后面。
"+"->使用數(shù)組加法運算,與array_merge()不同,加法運算不管是關(guān)聯(lián)數(shù)組還是數(shù)字索引數(shù)組,都是將相同鍵名的的值舍棄,
也就是只保留首次出現(xiàn)該鍵名的元素,后來的具有相同鍵名的元素都不會被加進來。

45 字符串定義的時候單引號和雙引號有什么區(qū)別?
雙引號里面的字段會經(jīng)過編譯器解釋,然后再當作HTML代碼輸出。
‘ ‘ 單引號里面的不進行解釋,直接輸出。

46 echo(),print(),print_r()的區(qū)別?
(1)echo 是語法,Output one or more strings,沒有返回值;
(2)print 是函數(shù),不能輸出數(shù)組和對象,Output a string,print有返回值;
(3)print_r 是函數(shù),可以輸出數(shù)組。print_r是個比較有意思的函數(shù),可以輸出stirng、int、float、
array、object等,輸出array時會用結(jié)構(gòu)表示,print_r輸出成功時返回true;而且print_r可以通過print_r($str,true)來,使print_r不輸出而返回print_r處理后的值。此外,對于echo和print,基本以使用echo居多,因為其效率比print要高。

47 按照功能分類說說都有哪些字符串處理函數(shù)?這些函數(shù)的作用是什么?
A. 字符串輸出函數(shù)
(1)echo $a,$b,$c......; 是一個語言結(jié)構(gòu),而不是一個真正的函數(shù)。
(2)print($a) 本函數(shù)輸出字符串。若成功則返回 1,失敗返回 0
(3)print_r($a)
(4)var_dump($a); 能輸出類型、長度、值
B. 去除字符串首尾空格的函數(shù): trim ltrim rtrim(別名:chop) 使用第二個參數(shù),還可以去除指定的字符。
C. 轉(zhuǎn)義字符串函數(shù):addslashes()
D. 獲取字符串長度的函數(shù):strlen()
E. 截取字符串長度的的函數(shù):substr()
F. 檢索字符串函數(shù): strstr() , strpos()
G. 替換字符串函數(shù):str_replace()

48 preg_replace()和 str_ireplace()兩個函數(shù)在使用上有什么不同?preg_split()和split()函數(shù)如何使用?
str_replace:這個應(yīng)該作為字符串替換的首選方法,不過有一點需要注意,就是把最希望匹配的元素放在前面。
strtr: strtr在短字符串替換的時候也是挺高效的,不過search數(shù)組的下標長度的差別也對效率產(chǎn)生比較大的影響,還有就是沒事最好不要使用strtr(string, string, string)這種形式(對于非單字節(jié)字符很容易產(chǎn)生亂碼)。
preg_replace:這個不用說,可以使用正則匹配,功能絕對是最強的,不過也是要犧牲一點效率的。
preg_ split() 函數(shù)用于正則表達式分割字符串。
split() 函數(shù)同 preg_split() 類似,用正則表達式將字符串分割到數(shù)組中,返回一個數(shù)組,但推薦使用 preg_split()

49 獲取當前時間戳的函數(shù)主要有哪些?用PHP打印出今天的時間,格式是2010-12-10 22:21:21?

 
 date('Y-m-d H:i:s',time());
 

50 用PHP打印出前一天的時間格式是2010-12-10 22:21:21?如何把2010-12-25 10:30:25變成unix時間戳?

 echo date ("Y-m-d H:i:s" ,strtotime("-1 day"));
 $unix_time = strtotime("2009-9-2 10:30:25");//變成unix時間戳
 echo date("Y-m-d H:i:s",$unix_time);//格式化為正常時間格式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解...
    上街買菜丶迷倒老太閱讀 1,380評論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進制字符串對數(shù)據(jù)進行解包。 uni...
    思夢PHP閱讀 1,997評論 1 24
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,853評論 1 10
  • 他摔了一跤,進了校醫(yī)院。 當他醒來的時候,他已經(jīng)躺在了宿舍的床上。 窗外是北京寂寞而寒冷的夜空,初冬的北京天...
    一墨閱讀 364評論 0 3
  • 2016年7月份,我開始想做一個思考者,用知識來養(yǎng)活自己。但是和一般的年輕人一樣,我浮躁,愛玩,思想跟不上行動。...
    吃了個棗閱讀 173評論 0 0