<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • php練習筆試題

    時間:2024-09-03 09:17:18 PHP 我要投稿
    • 相關推薦

    php練習筆試題

      引導語:php學習成本低,開發效率高,擴展函數豐富,成為了最流行的服務器端腳本語言。以下是小編整理的php練習筆試題,歡迎參考閱讀!

    php練習筆試題

      1. echo count("abc"); 輸出什么?

      答:"1"

      count — 計算數組中的單元數目或對象中的屬性個數

      int count ( mixed $var [, int $mode ] ), 如果 var 不是數組類型或者實現了 Countable 接口的對象,將返回 1,有一個例外,如果 var 是 NULL 則結果是 0。

      對于對象,如果安裝了 SPL,可以通過實現 Countable 接口來調用 count()。該接口只有一個方法 count(),此方法返回 count() 函數的返回值。

      2. 用PHP寫出顯示客戶端IP與服務器IP的代碼

      答:$_SERVER['SERVER_ADDR'] 服務器

      $_SERVER['REMOTE_ADDR']客戶端

      function getOnlineIP(){

      if (getenv('HTTP_CLIENT_IP')) return getenv('HTTP_CLIENT_IP');

      if (getenv('HTTP_X_FORWARDED_FOR')) return getenv('HTTP_X_FORWARDED_FOR');

      if ($_SERVER["REMOTE_ADDR"]) return $_SERVER["REMOTE_ADDR"];

      if (!empty($HTTP_SERVER_VARS['REMOTE_ADDR'])) return $HTTP_SERVER_VARS['REMOTE_ADDR'];

      }

      3. error_reporting(2047)什么作用?

      答:PHP 顯示所有錯誤 E_ALL

      4. echo,print()和print_r()有什么區別?

      答:echo是一個語言結構,沒有返回值。

      print是一個函數,返回int類型的值。[只能打印int string]

      print_r()是一個函數,返回bool類型值,按結構輸出變量的值。打印關于變量的易于理解的信息[數組、對象等]

      5. 打開php.ini中的Safe_mode,會影響哪些函數?至少說出6個。

      答:1:用戶輸入輸出函數(fopen() file() require(),只能用于調用這些函數有相同腳本的擁有者)

      2:創建新文件(限制用戶只在該用戶擁有目錄下創建文件)

      3:用戶調用popen() systen() exec()等腳本,只有腳本處在safe_mode_exec_dir配置指令指定的目 錄中才可能

      4:加強HTTP認證,認證腳本擁有者的UID的劃入認證領域范圍內,此外啟用安全模式下,不會設置PHP_AUTH

      5:mysql服務器所用的用戶名必須與調用mysql_connect()的文件的擁有者用戶名相同

      6:受影響的函數變量以及配置命令達到40個

      6. 寫個函數來解決多線程同時讀寫一個文件的問題。

      答:flock($hander,LOCK_EX); 這個可是內置函數啊,

      這個尚待解決

      7. 請寫一個函數驗證電子郵件的格式是否正確(要求使用正則)

      答:preg_match('/^[w-.]+@[w-]+(.w+)+$/', $email);

      8. 考SQL語句的題,題太長了,實在不好回憶了。

      答:去理解別人的回憶是件很困難的事情

      9. MySQL數據庫,一天一萬條以上的增量,怎么優化?

      答:我們曾做過短信SP的東西,有個短信發送的日志表,每天增量也很大,處理的方法是按月進行分表,因為是日志表,主要操作是操作,所以每月初自動生成新的數據表,數據插入到對應月份的那張數據表。[比如表明前綴是cdb_smslog 后面加200910 及時cdb_smslog_200910]

      其他優化方式暫時想不起來,對于myISAM, 考慮容量的話,也有優化的方案

      但是對于那種查詢操作的表的話,我的思路是根據作者的發布時間存儲到不同的表里面

      所以對sina那種海量數據的處理很感興趣,很好奇他們的處理方法,[以前同事說sina 的首頁同時操作10多個數據庫]

      10. 寫出一種排序算法(要寫出代碼),并說出優化它的方法。

      答:

      //冒泡排序

      function maopao($arr) {

      $count = count($arr);

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

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

      if($arr[$j] > $arr[$j+1]) {

      $temp = $arr[$j];

      $arr[$j] = $arr[$j+1];

      $arr[$j+1] = $temp;

      }

      }

      }

      return $arr;

      }

      //順序排序

      function shunxu($arr) {

      $count = count($arr);

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

      $p = $i;

      for($j=$i+1; $j<$count; ++$j) {

      $p = $arr[$p] > $arr[$j] ? $j : $p;

      }

      if($p != $i) {

      $tvalue = $arr[$i];

      $arr[$i] = $arr[$p];

      $arr[$p] = $tvalue;

      }

      }

      return $arr;

      }

      ps:有人說加個監控,計算數組交換的頻度[這對冒泡], 比如冒泡的第一次操作頻度為0,則無需操作,直接返回,因為已經是排好序的數組

      11. 寫個函數用來對二維數組排序。

      答:

      function array_sort_by_any_row($array_name, $row_id, $order_type){

      $array_temp=array();

      foreach($array_name as $key=>$value){

      $array_temp[$key]=$value[$row_id];

      }

      if($order_type==="ASC"){ //順序

      asort($array_temp);

      } else {

      arsort($array_temp);

      }

      $result_array=array();

      foreach($array_temp as $key=>$value){

      $result_array[$key]=$array_name[$key];

      }

      return $result_array;

      }

      $arr = array(array('num'=>5, 'value'=>6),

      array('num'=>2, 'value'=>39),

      array('num'=>36, 'value'=>29)

      );

      $sortarr = array_sort_by_any_row($arr, 'num', 'DESC');

      print_r($sortarr);

      12. 寫5個不同的自己的函數,來截取一個全路徑的文件的擴展名,允許封裝php庫中已有的函數。

      答:$path = str_replace('\', '/',__FILE__);

      echo $path.'

      ';

      function extname1($path) {

      return strrchr($path, '.');

      }

      function extname2($path) {

      $position = strrpos($path, '.');

      return substr($path, $position);

      }

      function extname3($path) {

      $arr = explode('.', $path);

      return $arr[count($arr) - 1];

      }

      function extname4($path) {

      preg_match_all('/[w/:-]+.([w]+)$/', $path, $out);

      return $out[1][0];

      }

      function extname5($path) {

      return preg_replace('/^[^.]+.([w]+)$/', '${1}', basename($path));

      }

      print_r(extname5($path));

      13. 一群猴子排成一圈,按1,2,...,n依次編號。然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,在把它踢出去...,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴子就叫做大王。要求編程模擬此過程,輸入m、n, 輸出最后那個大王的編號。

      答:

      yuesefu環問題,PPC有很多針對這個問題的處理,我的就不上啦

      function yuesefu($n,$m) {

      $r=0;

      for($i=2; $i<=$n; $i++) {

      $r=($r+$m)%$i;

      }

      return $r+1;

      }

      print_r(yuesefu(3,3));

    【php練習筆試題】相關文章:

    NIIT練習試題11-01

    華為2017筆試題09-24

    Adobe Photoshop練習試題08-24

    NIIT練習試題及答案10-31

    SSAT自測練習試題09-28

    華為2017筆試試題07-06

    2017筆譯翻譯練習材料09-26

    小升初數學檢測練習試題09-11

    小升初英語時態練習試題10-23

    photoshop試題練習「附答案」07-28

    主站蜘蛛池模板: 国产在线拍揄自揄视精品不卡| 99久久99久久精品免费看蜜桃| 精品无码国产一区二区三区AV| 91精品国产自产在线观看| 亚洲精品乱码久久久久久中文字幕 | 99re久久精品国产首页2020| 亚洲国产精品毛片av不卡在线| 欧美精品第一页| 久久精品人成免费| 伊人久久无码精品中文字幕| 国产高清在线精品一区小说| 国产精品久久久久无码av| 伊人久久综合精品无码AV专区| 精品国产呦系列在线观看免费| 精品福利一区二区三| 精品国产三级a在线观看| 亚洲精品无码永久在线观看| 国产日韩久久久精品影院首页 | 亚洲日韩精品无码一区二区三区| 国产精品第一区第27页| 国产国产成人精品久久| 久久精品麻豆日日躁夜夜躁| 亚洲国产精品无码久久一线| 欧美日韩国产精品| 国语自产精品视频| 国产精品亚洲产品一区二区三区| 麻豆精品久久久一区二区| 99精品国产高清一区二区麻豆| 色婷婷在线精品国自产拍| 亚洲午夜国产精品无码老牛影视 | 久久亚洲精品视频| 2022国内精品免费福利视频| 久久青青草原精品国产| 永久免费精品影视网站| 亚洲精品欧美精品日韩精品| 麻豆国产精品VA在线观看不卡| 国产欧美日韩综合精品一区二区三区 | 2022年国产精品久久久久| 精品无码人妻夜人多侵犯18| 久久夜色精品国产噜噜亚洲AV| 日韩精品极品视频在线观看免费|