Yahoo-PHP笔试面试题目

时间:2020-11-16 20:32:48 笔试题目 我要投稿

Yahoo-PHP笔试面试题目

  1. 以下哪一句不會把 John 新增到 users 陣列?

Yahoo-PHP笔试面试题目

  * $users[] = ‘john’;

  * array_add($users,’john’);

  * array_push($users,‘john’);

  * $users ||= ‘john’;

  2. sort()、assort()、和 ksort() 有什麼分別?它們分別在什麼情況下使用?

  3. 以下的代碼會產生什麼?為什麼?

  $num = 10;

  function multiply(){

  $num = $num * 10;

  }

  multiply();

  echo $num;

  4. 一個 reference 跟一個正規的變量有什麼分別?如何 pass by reference?在什麼情況下我們需要這樣做?

  5. 哪一些函式可以在現正執行的腳本中加入函式庫?

  以下是 Matt Wilkin 提供的解答:

  1. 以下哪一句不會把 John 新增到 users 陣列?

  * $users[] = ‘john’;

  成功把 John 新增到陣列 users。

  * array_add($users,’john’);

  函式 array_add() 無定義。

  * array_push($users,‘john’);

  成功把 John 新增到陣列 users。

  * $users ||= ‘john’;

  語法錯誤。

  2. sort()、assort()、和 ksort() 有什麼分別?它們分別在什麼情況下使用?

  * sort()

  根據陣列中元素的值,以英文字母順序排序,索引鍵會由 0 到 n-1 重新編號。主要是當陣列索引鍵的值無關疼癢時用來把陣列排序。

  * assort()

  PHP 沒有 assort() 函式,所以可能是 asort() 的筆誤。

  asort()

  與 sort() 一樣把陣列的元素按英文字母順序來排列,不同的是所有索引鍵都獲得保留,特別適合替聯想陣列排序。

  * ksort()

  根據陣列中索引鍵的值,以英文字母順序排序,特別適合用於希望把索引鍵排序的聯想陣列。

  3. 以下的代碼會產生什麼?為什麼? $num = 10;

  function multiply(){

  $num = $num * 10;

  }

  multiply();

  echo $num;

  由於函式 multiply() 沒有指定 $num 為全域變量(例如 global $num 或者 $_GLOBALS['num']),所以 $num 的值是 10。

  4. 一個 reference 跟一個正規的變量有什麼分別?如何 pass by reference?在什麼情況下我們需要這樣做?

  Reference 傳送的.是變量的地址而非它的值,所以在函式中改變一個變量的值時,整個應用都見到這個變量的新值。

  一個正規變量傳送給函式的是它的值,當函式改變這個變量的值時,只有這個函式才見到新值,應用的其他部分仍然見到舊值。

  $myVariable = “its’ value”;

  Myfunction(&$myVariable); // 以 reference 傳送參數

  以 reference 傳送參數給函式,可以使函式改變了的變量,即使在函式結束後仍然保留新值。

  5. 哪一些函式可以用來在現正執行的腳本中插入函式庫?

  對這道題目不同的理解會有不同的答案,我的第一個想法是插入 PHP 函式庫不外乎 include()、include_once()、require()、require_once(),但細心再想,「函式庫」也應該包括 com 物件和 .net 函式庫,所以我們的答案也要分別包括 com_load 和 dotnet_load,下次有人提起「函式庫」的時候,別忘記這兩個函式。

【Yahoo-PHP笔试面试题目】相关文章:

面试Yahoo-PHP笔试题目11-19

Yahoo-PHP面试笔试题目11-25

Yahoo-PHP面试题目笔试11-19

Yahoo-PHP笔试题目11-19

Yahoo-PHP笔试题11-25

Yahoo-PHP笔试试题11-25

面试会计的笔试题目11-23

小升初面试常见笔试题目09-09

架构面试笔试题目11-30