4. reference 跟一個正規(guī)的變量有什么分別?如何 pass by reference?在什么情況下我們需要這樣做?
Reference 傳送的是變量的地址而非它的值,所以在函式中改變一個變量的值時,整個應(yīng)用都見到這個變量的新值。
一個正規(guī)變量傳送給函式的是它的值,當(dāng)函式改變這個變量的值時,只有這個函式才見到新值,應(yīng)用的其他部分仍然見到舊值。
$myVariable = "its' value";Myfunction(&$myVariable); // 以 reference 傳送參數(shù)以 reference 傳送參數(shù)給函式,可以使函式改變了的變量,即使在函式結(jié)束后仍然保留新值。
5.些函式可以用來在現(xiàn)正執(zhí)行的腳本中插入函式庫?
對這道題目不同的理解會有不同的答案,我的第一個想法是插入 PHP 函式庫不外乎 include()、include_once()、require()、require_once(),但細(xì)心再想,“函式庫”也應(yīng)該包括 com 物件和 .net 函式庫,所以我們的答案也要分別包括 com_load 和 dotnet_load,下次有人提起“函式庫”的時候,別忘記這兩個函式。
6.foo() 與 @foo() 有什么分別?
foo() 會執(zhí)行這個函式,任何解譯錯誤、語法錯誤、執(zhí)行錯誤都會在頁面上顯示出來。
@foo() 在執(zhí)行這個函式時,會隱藏所有上述的錯誤訊息。
很多應(yīng)用程式都使用 @mysql_connect() 和 @mysql_query 來隱藏 mysql 的錯誤訊息,我認(rèn)為這是很嚴(yán)重的失誤,因為錯誤不該被隱藏,你必須妥善處理它們,可能的話解決它們。
7.你如何替 PHP 的應(yīng)用程式偵錯?
我并不常這樣做,我曾經(jīng)試過很多不同的偵錯工具,在 Linux 系統(tǒng)中設(shè)定這些工具一點也不容易。不過以下我會介紹一個近來頗受注目的偵錯工具。
PHP - Advanced PHP Debugger 或稱 PHP - APD,第一步是執(zhí)行以下的指令安裝:
pear install apd安裝后在你的腳本的開頭位置加入以下的語句開始進(jìn)行偵錯:
apd_set_pprof_trace();執(zhí)行完畢,打開以下檔案來查閱執(zhí)行日志:
apd.dumpdir
你也可以使用 pprofp 來格式化日志。
詳細(xì)的資料可以參閱 http://us.php.net/manual/en/ref.apd.php。
8.“===”是什么?試舉一個“==”是真但“===”是假的例子。
“===”是給既可以送回布爾值“假”,也可以送回一個不是布爾值但卻可以賦與“假”值的函式,strpos() 和 strrpos() 便是其中兩個例子。
問題的第二部份有點困難,想一個“==”是假,但是“===”是真的例子卻很容易,相反的例子卻很少。但我終于找到以下的例子:
if (strpos("abc", "a") == true){ // 這部分永不會被執(zhí)行,因為 "a" 的位置是 0,換算成布爾值“假”}if (strpos("abc", "a") === true){ // 這部份會被執(zhí)行,因為“===”保證函式 strpos() 的送回值不會換算成布爾值.}
9.你會如何定義一個沒有成員函式或特性的類別 myclass?
class myclass{}
10.你如何產(chǎn)生一個 myclass 的物件?
$obj = new myclass();
2021-07-09
2021-07-08
2021-07-08
2021-07-08
2021-07-08
2021-07-08
2021-07-07
2021-07-07
2021-07-07
2021-07-07
2021-07-07
2021-07-06
2021-07-06
2021-07-06
工作態(tài)度怎么寫 具有穩(wěn)定的工作心態(tài)
2021-07-06
該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。