首頁 > 後端開發 > php教程 > 8道php面試題反應你對php了解程度

8道php面試題反應你對php了解程度

黄舟
發布: 2023-03-17 09:40:01
原創
2141 人瀏覽過

php面試題千變萬化,我也跟大家介紹過php面試題中的筆試題,核心技術題,thinkphp題、易錯題。這都是我們在面試中會遇到的問題,最近發現了很有意思的事情,很多公司出的php面試題可以直接反應出php水準、那麼我們今天帶大家看看到底是那些php面試題可以反應出php了解程度!

1.

<?php echo count(strlen(“http://php.net”)); ?>
登入後複製

的執行結果是?

答案:1

講解:count(var)是用來統計數組或物件的元素個數的。當var是null或空數組時,結果為0。如果var是普通變量,則傳回1。正常情況下傳回var中的元素或屬性個數。

2.使用list()函數要注意什麼?

答案:list()是語法結構。 List($array)是用來快速地將陣列中的元素賦給一些變數。使用時要注意,$array必須為索引數組,並且索引值從0開始。

3、請說明php.ini中的safe_mode開啟之後影響了哪些函數?


答案:Safe_mode是php的安全模式。開啟之後,主要會對系統操作、檔案、權限設定等方法產生影響,主要用來應對webshel​​l。以下是受到影響的一些函數:

ckdir,move_uploaded_file,chgrp,parse_ini_file,
chown,rmdir,copy,rename,fopen,require,highlight_file,show_source,include,symlink,link,touch,mkdir,unlink,exec,
shell_exec,pasathru,system,popen
登入後複製

需要注意的是:在php5.3以上版本,safe_mode被棄用,在php5.4以上版本,則將此特性完全去除了。

4、請對POSIX風格和相容Prel風格兩種正規表示式的主要函數進行類比說明。

#答案:POSIX 樣式 : 匹配正規表示式ereg  與替換 ereg_replace

  Prel樣式:將正規表示式 preg_match  與替換比#deg_replace#"##natchm

<p></p>5、如何在指令下執行php腳本(寫出兩種方式),如何傳遞參數到php腳本? <p><strong></strong>答案:第一種方式:先進入php安裝目錄,執行 php 路徑/檔案名稱.php。 </p><p>範例:</p><pre class="brush:php;toolbar:false">php my_script.php php -f "my_script.php"
登入後複製

第二種方式:php -r 「php腳本」;(不需要加php的開始符和結束符)。

範例:

php -r "print_r(get_defined_constants());"
登入後複製

傳遞參數給php腳本:

第一種方式:php -r "var_dump($argv);" -- -h  (注意:如果要傳遞的參數開頭為-,那麼得使用參數列表分隔符 -- 才能正確傳參。 test.php -h -- foo(在php檔案開頭加入#!/usr/bin/php,即可直接傳遞以-為開頭得參數)

6、php5中魔術方法有哪幾個?請舉例說明各自的用法。

答案:

1、construct() :實例化物件時會自動呼叫。 2、destruct() :銷毀物件或腳本執行結束時自動呼叫。

3、call() :當呼叫物件不存在得方法時執行此函數。

4、get() :取得物件不存在的屬性時執行此函數。

5、set() :設定物件不存在的屬性時執行此函數。

6、isset() : 偵測物件的某個屬性是否存在時執行此函數。

7、unset() :當銷毀物件的某個屬性時執行此函數。

8、toString() :將物件當作字串輸出時執行此函數。

9、clone() :複製物件時執行此函數。

10、autoload() :當實例化物件時,當類別不存在時,執行此函數

自動載入類別

11、sleep() :serialize之前被調用,可以指定要序列化的物件屬性。

12、wakeup :unserialize之前被調用,可以執行物件的初始化工作。 13、set_state() :呼叫var_export時,被呼叫。用set_state的回傳值做為var_export的回傳值。

14、invoke() :將物件當作函數來使用時執行此方法,通常不建議這樣做。

7、簡述php的垃圾收集機制。

答案:php中的變數儲存在變數容器zval中,zval中除了儲存變數類型和值外,還有is_ref和refcount欄位。 refcount表示指向變數的元素個數,is_ref表示變數是否有別名。如果refcount為0時,就回收該變數容器。如果一個zval的refcount減1之後大於0,它就會進入垃圾緩衝區。當緩衝區達到最大值後,回收演算法會循環遍歷zval,判斷是否為垃圾,並進行釋放處理。

8、用php實作一個雙向佇列。

佇列是一種線性表,按照先進先出的原則進行

單向佇列:只能從頭進,從尾出雙向佇列:頭尾都可以進出

#!/usr/bin/php  <?phpvar_dump($argv);?>
登入後複製

 總結:

本文介紹給大家的php面試題都是我們在開發工作會經常遇到的、所以這些問題可以反應出你對php到底了解多,以及實際開發多少,所以是非常直覺的php面試題,希望對你有幫助!

相關推薦:

php面試題中物件導向的題目分析


最讓人容易出錯的10道php面試題


php面試題中php核心技術的問題分享


#php面試題筆試題目的總結


以上是8道php面試題反應你對php了解程度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板