首頁  >  文章  >  後端開發  >  php基礎問答知識小結分享

php基礎問答知識小結分享

小云云
小云云原創
2018-02-28 09:05:156174瀏覽

本文主要跟大家分享php基礎問答知識小結,希望能幫助大家。

01.輸出為Mozilla/4.0(compatible;MSIE5.01;WindowNT5.0)時,可能的輸出語句是:

    A. $_SERVER['HTTP_USER_AGENT_TYPE'];

    B.$_SERVER['HTTP_USER_AGENT'];

    C.$_SERVER['USER_AGENT']

    C.$_SERVER['USER_AGENT'];

##'];

    D.$_SERVER['AGENT'];

 

02.下列功能PHP無法實現的是:

    A.伺服器端腳本運作

    B.命令列腳本執行

   

C.用戶端圖形介面(GUI)程式

    D.瀏覽器端執行DOM動作

#    D.瀏覽器端執行DOM動作

03.以下說法不正確的是:    A.PHP有四種標量類型:布林型(boolean),整數(integer),浮點型(float),字符串(string)    B.浮點型(float)與雙精確型(double)是同一種型別

   

C.複合型別包含:陣列(array ),物件(object),資源(resource)

    D.偽類型:混合型(mixed),數位型(number),回呼(callback)

#04.執行下面的代碼後,

           Echo function_exists('print');    ?>

1.  Function_exists判斷函數是否存在,回傳true或false

2.  Print本身不是函數,而是一種語言結構

3. 

Echofalse 什麼都沒有

    得到的輸出是:

   

A.空

    B.true

    C.false

    D.FALSE 

05.下非PHP文法的組成部分的函數是:

   

A.array

    B.eval

##    C.each

#    D.list

   

Echoprint

 

06.執行下面的程式碼的結果是什麼?

   

       $bool=TRUE;

       Echo gettype($bool);## 

    ?>    A.boolean

    B.boolean0

    C.booleanFALSE

    C.booleanFALSE

#C D.

*07.寫出下列程式碼執行的結果:

    ##       $a=12;

        $a=12;

   =012;

       $c=0x12;       Echo $a,"\n",$b,"\n",$c; ##   

12\n10\n18

######### ###

08.下面程式碼的執行結果是什麼?

   

       Echo 1+2+"3+4+5";

##    ?>

##卷

    B.3

   

C.6

    D."33+4+5";

 

09 .下面程式碼加入下面那個函數後返回TRUE:

    Return ?=='A';

    A.ord(65) 根據字符,返回ascii碼值

#B.chr(65)

根據ascii碼值,傳回對應的字元  A==65  a==97    C.65+''

    D.''+65

 

10.下面程式碼的輸出正確的是:

   

       $a= array(1=>5,5=>8,22,2=>'8',81);

       Echo $a[7];//81

#      Echo $a[7];//81

     $a[6];//22

       Echo $a[3];

    ?>

    A.空2281 B.空8122

C. 8122空 D.空空

 

11.以下程式碼的輸出結果:

   

#       $a[bar] ='hello';

       Echo $a[bar];//hello

       echo $a['bar'];//hello

##    echo $a['bar'];//hello

##  o ?># 

#    A.hello B.空空C.封包錯誤

D.hellohello

 

*12.寫出下列程式碼的結果:

#

       Echo 1>>0;  0001

       Echo 2>>1;  0010-< 011 ->  1100

    ?>

#    A.012 B.106

C.1112

D.123

 ##13 。以下對於echo,print的描述正確的是:##    A.echo,print都可以列印多個參數

    B.print可以列印多個參數,echo不可以

   

C.echo

可以列印多個參數

,print不行    D.echo,print都不可以列印多個參數 #14.對於下面的程式碼

   

       $fruits= array('strawberry'=>'red','banana'=>'yellow');

    ?>

    能夠正確取得結果'yellow'的程式碼是:

   

A.echo"A banana is {$fruits['banana']}";

    B.echo"A banana is $fruits['banana']" ;

    C.echo"A banana is {$fruits[banana]}";

    D.echo"A banana is $fruits[banana]";

n

15.以下程式碼執行完成後的結果是什麼?

           Function change(){           Static$i     Return$ i;

        }

        Printchange();

        Printchange(# 12

 

16.以下程式碼的執行後是,$result值為:

   

       $ srcArray=array('a','b','c','d');

       $randValue=array_rand($srcArray);       $result=is_string($rand)##     ;    ?>

1.  

#array_rand

回傳什麼?

2.  

Is_string()

#    A 、a

   

B

#false

    C、trueb

   E、c

17.輸出的是?

    A、3##    B、false

    C、null

   

D

1

#1

#1

#1#1

1 #########    E、0#######18.以下程式碼的執行後是,$result值為:######    # #####    A、1#####    ###B、2#########    C、3#####    D、4######    E、55 ###### ###### ######19.php函數名稱是否區分大小寫?######    ###A###、不區分############################################################### ##

    B、區分

20.以下程式碼的執行後是,$result值為:

   

       $x=””;

       $result=is_null($x);

    ?>

    A、null

    B、true

# ##C

false    D、1

 

## 

21 .哪一種OOP設定模式能讓類別在整個腳本裡只實例化一次?

    A、MVC

##    B、代理模式

    C、狀態型模式

##    D、抽象工廠模式

#采采##E、單件模式 

 

22.借助繼承,我們可以建立其他類別的衍生類別。那麼在PHP中,子類別最多可以繼承幾個父類別?

   

A、1個

    B、2個

    C、取決於系統資源

    D、3個

    E、想要幾個有幾個

 

 

23.下列哪一種錯誤型別無法被自訂的錯誤處理器捕捉到?(雙選)set_error_handler

    A、E_WARNING

   

B

#E_USER_ERROR## ## 

E_PARSE    D

E_NOTICE

24.執行下列程式碼,輸出結果是

   

    Abstract class a{

       Function __construct(){

           Echo 「a」;

      }

    }

# #>

    A、a

    B、一個錯誤警告

   

C、一個致命性的錯誤

#25.執行以下程式碼,輸入結果為

           Class a{

          ”;

           }

#       }

      

#           Echo 「Echo Classb Something」;

           }

       }

       $a=new b();## B 、echoclassbsomethingechoclassasomething

    C、echoclassassomething

   

D

echo class b something

 ## #26.以下哪個選項沒有將john加入users陣列? 2分

    (A) $users[] = 'john';

    (B) array_push($users, 'john');

   

(C )

$users||= 'john';

    (D) array_unshift($users, 'john'); 

# 27.在PHP中,'+'運算元的功能不包括2分

   

A.字串連接

    B.陣列資料合併 array(0=> ;1,1=>2)+array(2=>3,3=>4)

    C.變數資料相加

 

#28.下列哪個表達式不能將兩個字串$s1和$s2串連成一個單獨的字串? (  )

   

A.$s1+$s2

卷',array($s1,$s2))       E.以上所包含的方法都能實現

 

29.以下的腳本運作以後,$array陣列所包含的數值為何? (  )

    $array = array('1','1');

    foreach($array as $k=>$v){

##    $ =  2;

    }

A.array('2','2')  

B.array(

'

1

'

,'1#')   C.array(2, 2)      D.array(Null,Null) 30.array_shift()函數的功能是?     A 在陣列中新增一個元素   

B

移除陣列中的一個元素

#    C 交換一個陣列的key和value 

array_flip()

    D 清除一個陣列##填空

1、執行程式段將輸出___0

_。

*2、以Apache模組的方式安裝PHP,在檔案httpd.conf中首先要用語句__

LoadModule php5_module"F:/wamp/php-5.2.6-win32/php5apache2_2. dll"__動態裝載PHP模組,然後再用語句__ AddTypeapplication/x-httpd-php .php

__使得Apache把所有擴展名為php的檔案都當作PHP腳本處理。

3、類別的屬性可以序列化後保存到session中,以便以後可以恢復整個類,這要用到的函數是_serialize

___。

4、__debug_backtrace___函數能傳回腳本裡的任意行中所呼叫的函數的名稱。該函數同時也常被用在偵錯中,用來判斷錯誤是如何發生的。

5、

              $$str="abcde";   $cd= ok」;       $cd .= 「ok」;

              echo$cd;      ___

abcdeok

____

 

讀題

 

 1、(5分)請指出下列程式碼的錯誤之處(圈起來並加以修正)

              function baz($y

,

$a) {  /$x =new Array();

           $x['sales'] = 60;         xas $key =>

##$value) {

              echo$key + “ ” + $value + “<ltmm;BR>”;

'j]; #           }

              }

1 ;

  $c=40;

       $a=$b>$c?

4:5;

  echo $a;

##:5;

  echo $a;

#             4

3、下列的程式會輸出何1分)

  $num = 10;

  function multiply(){

              $num = $num * 10;

  }

  multiply();

  echo $ num;    10

4、請寫出下列PHP程式碼的執行結果6分

       $var1 = 5;

    $var2 = 10;

    functionfoo(&$my_var){

##  =2;

       $var2 = 4;

#       $my_var +=3;

#      my_var = 5;

    echofoo($my_var) ."\n";

//4

    echo $my_var."\n" ;//8

    echo $var1."\n";//7

    echo $var2."\n";//10

    $bar = 'foo';    $my_var = 10;

    echo$bar($my_var) ."\n";

//4

 

 

5、寫出下列程式碼的輸出結果:

       function myfunc($argument){

        

    }

    $variable =10;

    echo “myfunc($variable)=”.myfunc($variable);

 

    20myfunc(10)=

##6、寫出下列程式的輸出結果(5分)

$test='aaaaaa';

    $abc=&$test;

#    unset($test);

##    echo $abc;//

# aaaaaa 

7、寫出程式運作的結果

       $a=0;

#    $b=0;

    If($a=3||$b=3){

           $a++; //true++

        #  $true++

       #    }

    Echo$a.」,」.$b;

//1,1##   

    $a =0;

    $b=0;

    If($a=(3|$b=3)){

           $a++;//3++

#           $b++;//3++

    }

    Echo$a.」,」.$b;

#    Echo$a.」,」.$b;

#   

結果:1._______1,1__________,2._________4,4_____________

 

8、

< ;?php

       $data = array('a', 'b', 'c');

       foreach($data as $key=>$val) {

$val

              val = &$data[$key];

       }

#?>

#1

##。一次循環結束後變數$data的值是什麼?請解釋。

問題2:程式執行完後,變數$data的值是什麼?請解釋。

 

問答題

1、實作中文字串截取無亂碼的方法。 (3分)

mb_substr()

 

2、輸出使用者的IP位址,並且判斷使用者的IP位址是否在192.168.1.100 --- 192.168.1.150之間(5分)。

 

Ip2long(“192.168.1.100”)  ip2long('192.168.1.150')

 #3、不斷在檔案hello.txt頭部寫入一行「Hello World」字串,要求程式碼完整(10分)

$str = File_get_contents(「hello.txt ”);

$str = “helloworld”.$str;

File_put_contents (“hello.txt”,$str);

 

#4、請列出3種PHP陣列循環運算的語法,並註明每個循環的優缺點5分For     

只能循環下標連續的索引數組###################################################################### Foreach  ######可以循環所有陣列##########

While    for相似

While (list($key,$val)=each($arr))         可讀性較差,效率較低

 

 

5、求兩個日期的差數,例如2007-2-5~2007-3-6的日期差數(5分)

(Strtotime( '2007-3-6')-Strtotime(“2007-2-5”))/(3600*24)

 

#6、請將2維陣列依照name的長度重新排序,依照順序將id賦值(從1開始)。 (15分)

$array = array(

              array('id' => 0,'name' => '123'),

array( 'id' => 0,'name' => '12345'),

              array('id' => 0,'name' => '1234'),

##array('id' => 0,'name' => '123abcd'),

              array('id' =>. 0,'name' => '1235666);

              );

)

 

#for($j=0,$c=count($array);$for($j=0,$c=count($array);$ j<$c;$j++){

              for($i=0;$i<$c-1-$j;$i++){

#                    if(strlen($array[$i]['name'])>strlen($array[namei+$array[$i]['name'])>strlen($array[namei+1][ )){

                        #                     $ array[$i]= $array[$i+1];

                    

#                     }

#              $array[$c-1-$j]['id']= $c-$j;

#    

#  ## $arr = array();foreach($Tarray as $k=>$v)

{

       $arr[$k] = strlen( $v['name']);}natsort($arr);$arr1 = array();$i = 0;

foreach($arr as $k =>$v)

{

       $arr1[$i]['id'] = $v;

#      $arr1[$i]['name'] =$Tarray[$k][ 'name'];
       $i++;
}



 

8、在PHP中error_reporting這個函數有什麼作用?(1分)



改變錯誤等級

 

#9、簡述如何得到目前執行腳本路徑,包括所得到參數。 (2分)

$_SERVER['REQUEST_URI']## 

10、mysql_fetch_row()和mysql_fetch_array之間有什麼差別? (1分)

Mysql_fetch_row()傳回索引數組

Mysql_fetch_array()

傳回索引加上關聯的陣列

11、GD函式是做什麼用的?(1分)

動態的生成圖像############ ####

12、請說明php中傳值與傳引用的差異。什麼時候傳值什麼時候傳引用?(2分)

傳值:只會將值傳遞給一個變數

傳送位址:會將位址傳遞給一個變量,此時兩個變數同時指向同一個位址,一個發生改變,另一個也會跟著改變。

 

13、談asp,php,jsp的優缺點(1分)

Asp.net優點:開發較快,B/S,C/S

Asp.net

# #缺點:平台限制(windows-IIS),成本高##PHP優點:跨平台,開發效率高,開源

PHP缺點:不能做C/S模式的軟體(例如:QQ

JSP

優點:涉及面較廣(

C/S,B/S

),較安全性##JSP缺點:不開源,不免費,成本高 

14、用PHP寫出顯示客戶端IP與伺服器IP的程式碼1分)

$_SERVER['#REMOTE_ADDR']

##$_SERVER['

SERVER_ADDR

'

##]

 15、CSS裡margin和paddin有什麼區別?寫出padding在3個參數和四個參數情況下,參數所作用的方向

Margin:1px 2px 3px

#Margin:1px 2px 3px 4px#16、開發專案中,需要上傳超過8M的文件,請說明在php.ini需要修改的設定項。 (10分)

upload_max_filesize  upload_max_filesize

post_max_size     #    ##post_max_size     #   17、Php是否有安全問題,如果有,請列出說明。

Sql

注入,預處理

18、從PHP4.2.0開始PHP默認配置將register_globals配置設定為off,請指出這個設定的作用和對PHP相關程式的影響。 (5分)

會自動接收參數  index.php?id=1

$id即可接收

$_SESSION['id'] = 1

 

19.apache預設使用進程管理還是執行緒管理?如何判斷並設定最大連線數?

程式管理

  20、PHP如何執行shell的兩種方式

Shell_exec

##``

 

21、寫出一個函數,參數為年份和月份,輸出結果為指定月的天數

Function getDays($year,$ month){

       Return (strtotime($year.”-”.($month+1).”-1”)-strtotime($year. ”-”.$month.”-1”))/(3600*24);

######}########### # ######22、用PHP寫一段程式碼,實作不使用第3個變量,交換$a,$b的值,$a,$b的初始值自己設定。 ###### ############$a = array($a,$b)##################$b = $a[0];##################$a = $a[1]############ ####

23、物件導向中介面與抽象類別的差異及應用場景

介面:是抽象類別的特殊情況,不允許有屬性,只允許有常數,所有的方法都是抽象方法

抽象類別:不一定所有的方法都是抽象方法

相同:都不能實例化

1 介面是核心,其定義了要做的事情,包含了許多的方法,但沒有定義這些方法應該如何做。
2 如果許多類別實作了某個接口,那麼每個都要用程式碼實作那些方法
3 如果某一些類別的實作有共通之處,則可以抽象化一個抽象類,讓抽象類別實現介面的公用的程式碼,而那些個人化的方法則由各個子類別去實作。

相關建議:

php基礎分頁類別程式碼詳解

#php基礎知識總結(新手必備)

php基礎與JavaScript操作的差異(收藏)

#

以上是php基礎問答知識小結分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn