當前位置:編程學習大全網 - 編程語言 - PHP應聘筆試題

PHP應聘筆試題

 題目壹:

 <?php

 echo -10%3;

 ?>

 答案:-1。

 考查:優先級。因為-的優先級比%求余的優先級低,也就是-(10%3)。

 題目二:

 print (int)pow(2,32);

 答案:0

 題目三:

 //file1.php

 <?php

 $a = '123';

 ?>

 //file2.php

 <?php

 echo include('file1.php');

 ?>

 答案:1.

 考查:返回值。因include()也是壹個函數,有返回值。在成功時返回1,失敗時返回錯誤信息。如果被包含的文件有return,則inculde()成功時返回該文件的`返回值。

 題目四:

 <?php

 $count = 5;

 function get_count() {

 static $count = 0;

 return $count++;

 }

 ++$count;

 get_count();

 echo get_count();

 ?>

 答案:1.

 考查:static和++。因static $count,所以只在第壹次調用get_count的時候對$count賦值為0,第二次再進來這個函數,則不會第二次賦值。其次就是return $count++和return ++$count了,前者先返回,後者先++再返回。

 題目五:

 <?php

 $arr= array(0 =>1,'aa' =>2,3,4);

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

 print($key == 'aa' ? 5 : $val);

 }

 ?>

 答案:5534.

 考查:類型轉換。因遍歷數組第壹次的時候,$key和aa的比較實際就是0和aa的比較,壹個是int壹個是string,這個時候會轉換類型,將字符串轉換為數字再與數字比較。所以0=='aa'就是0==0,所以為true,也就是輸出5。雖然PHP是若類型語言,但是人家也有類型的好嗎。

題目六:

 <?php

 echo count (false);

 $a = count ("567") + count(null)

 + count(false);

 echo $a;

 ?>

 答案:2.

 考查:count的用法。

 因count()的官方解釋“If the parameter

 is not an array or not an object

 with implemented Countable

 interface, 1 will be returned.”.意思是說,如果不是數組或者對象的其他類型,返回1.那麽這個值應該就是1+0+1了(boolen人家也是壹個類型,雖然是討厭的false)。NULL的意思是沒有值,難道在計數函數中還能有1?

 題目七:

 <?php

 $arr = array(1,2,3);

 foreach($arr as &$val) {

 $val += $val % 2 ? $val++ : $val--;

 }

 $val = 0;

 print(join('',$arr));

 ?>

 答案:330。

 考查:++和&。

 因foreach結束後的數組應該是array(3,3,7);最後給第三個元素賦值為0,所以就是330了。其中註意的是&,如果有&則是對原變量操作,如果沒有,則是先生成壹個新變量,然後給這個變量復制,最後操作的是這個新變量。

 題目八:

 <?php

 echo intval((0.1+0.7)*10);

 ?>

 答案:7。

 考查:浮點數的概念。

 因0.1+0.7=0.8 0.8*10=8 所以轉換成整數後還是8?錯!因為0.1+0.7=0.8是浮點數,0.8*10在數學計算中是正整數8,可是在計算機中它仍然是浮點數8,什麽叫浮點數8?每壹個看起來像整數的浮點數,其實都不是整數,比如這個8,它其實只是

 7.9999循環,無限接近於8,轉換成整數會舍棄小數部分,就是7嘍。

 題目九:

 <?php

 ini_set('display_errors',0);

 $arr = array(1=>1,3=>3);

 $i = 2;

 $a = 'test' . isset($arr[$i]) ?

 $arr[$i] : $i;

 請問$a的值是什麽?

 A、test B、NULL C、2 D、test2

 ?>

 答案:B。

 考查:優先級 因“."的優先級高於三元運算符"?:"。所以程序其實報錯了。會說$arr的索引2不存在。

 題目十:

 <?php

 $a = 3;

 $b = 5;

 if($a = 5 || $b = 7) {

 $a++;

 $b++;

 }

 echo $a . " " . $b;

 ?>

 A、6 8 B、6 6 C、2 6 D、1 6 E、4 6

 答案:D。

 考查:優先級,基礎概念,++。因“="的優先級低於“||”,所以先邏輯判斷再賦值。也就是($a = (5 || $b = 7))。所以,最後其實給a賦值了,$a等於1.

  • 上一篇:幼兒園教師的教學方法
  • 下一篇:Python是什麽編程語言
  • copyright 2024編程學習大全網