欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      php重要知識點總結(jié)(PHP網(wǎng)絡(luò)開發(fā)必背)

      時間:2019-05-11 22:57:57下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《php重要知識點總結(jié)(PHP網(wǎng)絡(luò)開發(fā)必背)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《php重要知識點總結(jié)(PHP網(wǎng)絡(luò)開發(fā)必背)》。

      第一篇:php重要知識點總結(jié)(PHP網(wǎng)絡(luò)開發(fā)必背)

      PHP網(wǎng)站開發(fā)必用知識點總結(jié),函數(shù)一覽,開發(fā)必背

      魔術(shù)方法

      __construct()當實例化一個對象的時候,這個對象的這個方法首先被調(diào)用。

      __destruct()當刪除一個對象或?qū)ο蟛僮鹘K止的時候,調(diào)用該方法。

      __get()當試圖讀取一個并不存在的屬性的時候被調(diào)用。

      __set()當試圖向一個并不存在的屬性寫入值的時候被調(diào)用。

      __call()當試圖調(diào)用一個對象并不存在的方法時,調(diào)用該方法。

      __toString()當打印一個對象的時候被調(diào)用

      __clone()當對象被克隆時,被調(diào)用

      __isset()__unset()__autoload($classname)__sleep()__wakeup()

      系統(tǒng)常量

      __FILE__ 當前文件名

      __LINE__ 當前行數(shù)

      __FUNCTION__ 當前函數(shù)名

      __CLASS__ 當前類名

      __METHOD__ 當前對象的方法名

      PHP_OS 當前系統(tǒng)

      PHP_VERSION php版本

      DIRECTORY_SEPARATOR 根據(jù)系統(tǒng)決定目錄的分隔符 /

      PATH_SEPARATOR 根據(jù)系統(tǒng)決定環(huán)境變量的目錄列表分隔符;:

      E_ERROR 1

      E_WARNING 2

      E_PARSE 4

      E_NOTICE 8

      M_PI

      3.141592

      $_SERVER

      $_ENV 執(zhí)行環(huán)境提交至腳本的變量

      $_GET

      $_POST

      $_REQUEST

      $_FILES

      $_COOKIE

      $_SESSION

      $_GLOBALS 輸出 echo

      //Output one or more strings print

      //Output a string print_r()//打印關(guān)于變量的易于理解的信息。

      var_dump()//打印變量的相關(guān)信息

      var_export()//輸出或返回一個變量的字符串表示

      printf(“%.1f”,$num)//Output a formatted string

      sprintf()//Return a formatted string

      編碼轉(zhuǎn)換

      string mb_convert_encoding(string $str , string $to_encoding [, mixed $from_encoding ])iconv();時間

      date_default_timezone_set(“PRC”);date(“Y-m-d H:i:s”);time();date(“Y-m-d H:i:s”,time()+3600)ini_set('date.timezone', 'PRC');msec sec microtime()以秒返回時間戳 explode(' ', microtime())

      錯誤處理

      @1/0 error_reporting(E_ALL)顯示所有錯誤

      error_reporting(0)trigger_error(“Cannot divide by zero”, E_USER_ERROR);try {

      throw new Exception(“執(zhí)行失敗”);} catch(Exception $ex){

      echo $ex;}

      字符串處理

      string trim(“eee ”)trim('ffffe','e')//ltrim rtrim array explode(“.”, “fff.ff.f”)按指定字符切割

      string implode(“.”, $array)別名:join

      把數(shù)組值數(shù)據(jù)按指定字符連接起來

      array str_split(“eeeeeeee”,4)按長度切割字符串

      array split(“-”,“fff-ff-f”)按指定字符切割

      int strlen('ffffffff')取字符長度

      string substr(string $string , int $start [, int $length ])

      substr($a,-2, 2)截取字符

      int substr_count($text, 'is')字符串出現(xiàn)的次數(shù) string strstr($text, 'h')第一次出現(xiàn)h后的字符串

      //別名:strchr int strpos($text, 'h')第一次出現(xiàn)h的位置

      strrpos();最后一次出現(xiàn)h的位置

      str_replace('a', 'ttt', $t)把$t里的'a'替換為'ttt'

      strtr($t,'is','ppp')把$t中'is'替換成'ppp'

      strtr(“hi all, I said hello”, array(“hello” => “hi”))把'hello'轉(zhuǎn)換成'hi' string md5_file('1.txt',false)文件數(shù)據(jù)md5加密

      int strcmp(string str1, string str2)字符串比較

      int strcasecmp(string str1, string str2)忽略大小寫

      string str_pad($i, 10, “-=”, STR_PAD_LEFT)在原字符左邊補'-=',直到新字符串長度為10

      STR_PAD_RIGHT

      STR_PAD_BOTH string str_repeat('1', 5)重復5個1

      void parse_str('id=11');echo $id;將字串符解析為變量

      array preg_grep(“/^(d+)?.d+$/”, array(11.2,11,11.2))匹配數(shù)據(jù)

      array preg_split(“/[s,]+/”, “hypertext language,programming”);按指定的字符切割

      array pathinfo(string path [, int options])返回文件路徑的信息

      string basename(string path [, string suffix])返回路徑中的文件名部分

      string dirname(string path)$_SERVER[PHP_SELF] 返回路徑中的目錄部分

      string nl2br(“foo isn'tn bar”)“foo isn't
      bar” 把換行轉(zhuǎn)成
      string chr(int ascii)

      * mixed str_word_count(string string [, int format [, string charlist]])string str_shuffle('abc')打亂字符串順序

      string strrev($str)*

      翻轉(zhuǎn)一個字符串

      string strtolower($str)*

      將字符串 $str 的字符全部轉(zhuǎn)換為小寫的string strtoupper($str)*

      將字符串 $str 的字符全部轉(zhuǎn)換為大寫的string ucfirst($str)

      *

      將字符串 $str 的第一個單詞的首字母變?yōu)榇髮憽?/p>

      string ucwords($str)

      *

      將字符串 $str 的每個單詞的首字母變?yōu)榇髮憽?/p>

      string addslashes(“I'm”)I'm 使用反斜線引用字符串 這些字符是單引號(')、雙引號(“)、反斜線()與 NUL(NULL 字符)

      string stripcslashes(”I'm“)I'm 將用addslashes()函數(shù)處理后的字符串返回原樣

      strip_tags(”

      tt

      “, '

      ')去除html、xml、php標記,第二個參數(shù)用來保留標記

      string urlencode(string str)string urldecode(string str)string htmlspecialchars(”Test“, ENT_QUOTES)轉(zhuǎn)換特殊字符為HTML字符編碼

      Test

      ENT_COMPAT –對雙引號進行編碼,不對單引號進行編碼

      ENT_QUOTES –對單引號和雙引號進行編碼

      ENT_NOQUOTES –不對單引號或雙引號進行編碼

      string htmlentities('

      ff

      ', ENT_QUOTES)轉(zhuǎn)換特殊字符為HTML字符編碼,中文會轉(zhuǎn)成亂碼

      數(shù)組處理

      int count(mixed var [, int mode])別名:sizeof()取數(shù)組長度

      string implode(”.“, $array)別名:join

      把數(shù)組值數(shù)據(jù)按指定字符連接起來

      array explode(”.“, ”fff.ff.f“)按指定字符切割

      array range(0, 6, 2)返回數(shù)組 array(0,2,4,6)第一個參數(shù)為起使數(shù),第二個參數(shù)為結(jié)束數(shù),第三個參數(shù)為數(shù)據(jù)增加步長

      int array_push($a, ”3“, 1)把'3'、'1'壓入$a,將一個或多個單元壓入數(shù)組的末尾(入棧),第二個參數(shù)開始就是壓入的數(shù)據(jù)

      void unset(mixed var [, mixed var [,...]])array array_pad($a, 5, 's')用's'將數(shù)組填補到指定長度

      bool shuffle(array $array)將數(shù)組打亂

      mixed array_rand(array input [, int num_req])從數(shù)組中隨機取出一個或多個單元的索引或鍵名

      array array_count_values(array input)統(tǒng)計數(shù)組中所有的值出現(xiàn)的次數(shù)

      array array_combine(array keys, array values)創(chuàng)建一個數(shù)組,用一個數(shù)組的值作為其鍵名,另一個數(shù)組的值作為其值

      bool array_key_exists(mixed key, array search)檢查給定的鍵名或索引是否存在于數(shù)組中

      mixed array_search(mixed needle, array haystack [, bool strict])在數(shù)組中搜索給定的值,如果成功則返回相應(yīng)的鍵名

      bool is_array(mixed var)bool in_array(mixed needle, array haystack [, bool strict])檢查數(shù)組中是否存在某個值

      number array_sum(array array)計算數(shù)組中所有值的和

      array array_unique(array array)移除數(shù)組中重復的值

      mixed reset(array &array)將數(shù)組的內(nèi)部指針指向第一個單元

      mixed current(array &array)mixed next(array &array)mixed prev(array &array)mixed end(array &array)mixed key(array &array)array array_keys(array input [, mixed search_value [, bool strict]])返回數(shù)組中所有的鍵名

      array array_values(array input)返回數(shù)組中所有的值

      bool print_r(mixed expression [, bool return])void var_dump(mixed expression [, mixed expression [,...]])int array_unshift(array &array, mixed var [, mixed...])在數(shù)組開頭插入一個或多個單元

      mixed array_shift(array &array)將數(shù)組開頭的單元移出數(shù)組

      mixed array_pop(array &array)將數(shù)組最后一個單元彈出(出棧)

      array array_splice(array $input, int offset [, int length [, array replacement]])把數(shù)組中的一部分去掉并用其它值取代

      array array_merge(array array1 [, array array2 [, array...]])合并一個或多個數(shù)組

      array array_flip(array trans)交換數(shù)組中的鍵和值

      int extract(array var_array [, int extract_type [, string prefix]])從數(shù)組中將變量導入到當前的符號表

      array compact(mixed varname [, mixed...])建立一個數(shù)組,包括變量名和它們的值

      bool sort(array &array [, int sort_flags])從最低到最高重新安排

      bool natsort($a)用“自然排序”算法對數(shù)組排序

      bool rsort(array &array [, int sort_flags])對數(shù)組進行逆向排序(最高到最低)

      bool asort(array &array [, int sort_flags])對數(shù)組進行排序并保持索引關(guān)系

      bool arsort(array &array [, int sort_flags])對數(shù)組進行逆向排序并保持索引關(guān)系

      bool ksort(array &array [, int sort_flags])對數(shù)組按照鍵名排序

      bool krsort(array &array [, int sort_flags])對數(shù)組按照鍵名逆向排序

      array array_filter(array input [, callback callback])用回調(diào)函數(shù)過濾數(shù)組中的單元

      bool array_walk(array &array, callback funcname [, mixed userdata])對數(shù)組中的每個成員應(yīng)用用戶函數(shù)

      array array_map(callback callback, array arr1 [, array...])將回調(diào)函數(shù)作用到給定數(shù)組的單元上

      array array_fill(int start_index, int num, mixed value)用給定的值填充數(shù)組

      array_fill(5, 3, 'a')-->array(5=>'a',6=>'a',7=>'a')array array_chunk(array input, int size [, bool preserve_keys])將一個數(shù)組分割成多個

      其他

      isset()變量是否存在

      boolean empty()檢查變量是否存在,并判斷值是否為非空或非0

      void unset()銷毀變量

      header('Content-Type: text/html;charset=utf-8');method_exists($obj, $method)判斷對象的方法是否可用

      file_exists($file)判斷文件是否存在function_exists();class_exists($class_name);

      gettype();獲取數(shù)據(jù)類型

      set_magic_quotes_runtime()0 for off, 1 for on 當遇到反斜桿、單引號,將會自動加上一個反斜桿,保護系統(tǒng)和數(shù)據(jù)庫的安全

      ini_set();安全

      function strReplace($str){

      $strResult = $str;

      if(!get_magic_quotes_gpc())//判斷設(shè)置是否開啟

      {

      $strResult = addslashes($strResult);//轉(zhuǎn)換sql語句特殊字符

      }

      return $strResult;} function quotes($content){

      //如果magic_quotes_gpc=Off,那么就開始處理

      if(!get_magic_quotes_gpc())

      {

      //判斷$content是否為數(shù)組

      if(is_array($content))

      {

      //如果$content是數(shù)組,那么就處理它的每一個單無

      foreach($content as $key=>$value)

      {

      $content[$key] = addslashes($value);

      }

      }

      else

      {

      //如果$content不是數(shù)組,那么就僅處理一次

      addslashes($content);

      }

      }

      //返回$content

      return $content;}

      smarty 模板引擎將不分析

      讀取配置文件

      引入文件

      $trusted_dir 指定目錄下的文件

      捕獲模板輸出的數(shù)據(jù)

      fffffffff

      循環(huán)

      <{section name=loop loop=$News_IN}>

      <{$News_IN[loop].NewsID}>

      <{/section}>

      <{foreach from=$newsArray item=newsID key=k}>

      新聞編號:<{$newsID.newsID}>

      新聞內(nèi)容:<{$newsID.newsTitle}>


      <{/foreach}> 判斷

      1111

      22222222

      時間

      {$smarty.now|date_format:”%Y-%m-%d %H:%M:%S“}

      %Y年%m月%d日 亂碼

      修改插件:plugins/modifier.date_format.php

      $format = mb_convert_encoding($format,'gbk','utf-8');

      return mb_convert_encoding(strftime($format, $timestamp),'utf-8','gbk');

      局部不緩存

      html:

      php:

      $smarty->register_block('cacheless', 'smarty_block_dynamic', false);//true:緩存,false:不緩存

      function smarty_block_dynamic($param, $content, &$smarty)

      {

      return $content;

      }

      php:

      function insert_kk()//方法名前必須有”insert“

      {

      return date('Y-m-d H:i:s');

      }

      html:

      自定義方法

      注冊方法

      php

      $smarty->register_function('test1', 'test');

      function test($p)

      {

      return 'ffffffffff';

      }

      html:

      -----------------

      方法自定義

      插件文件方式定義方法

      function.test.php 文件存在plugins目錄下,smarty_function_test($params, &$smarty)

      function smarty_function_test($params, &$smarty)

      {

      return 'fff';

      }

      html調(diào)用:

      ---------------------

      插入方法

      插件文件:insert.kk.php文件存于plugins目錄下

      function smarty_insert_kk()

      {

      return date('Y-m-d H:i:s');

      }

      php:

      function insert_kk()//方法名前必須有”insert“

      {

      return date('Y-m-d H:i:s');

      }

      html:

      ------------------

      管道符自定義方法

      方法名:

      插件文件方式定義方法

      modifier.test.php 文件存在于plugins目錄下,方法名: function smarty_modifier_test($str, $str2)

      function smarty_modifier_test($str, $str2)

      {

      return $str.$str2;

      }

      html調(diào)用:

      php:

      function eee($a)

      {

      return 'ffffffffffffff';

      }

      html:

      if語句

      eq相等,ne、neq不相等,gt大于

      gte、ge大于等于,lte、le 小于等于,not非,mod求模。

      is [not] div by是否能被某數(shù)整除,is [not] even是否為偶數(shù),$a is [not] even by $b 即($a / $b)% 2 == 0

      is [not] odd是否為奇

      $a is not odd by $b即($a / $b)% 2!= 0

      XML

      sax

      xml:

      <--?xml version=”1.0“ encoding=”utf-8“?-->

      Jack Herrington

      PHP Hacks

      O'Reilly

      Jack Herrington

      Podcasting Hacks

      O'Reilly

      作者

      標題

      出版者

      php:

      $g_books = array();

      $g_elem = null;

      function startElement($parser, $name, $attrs)

      {

      global $g_books, $g_elem;

      if($name == 'BOOK')$g_books []= array();

      $g_elem = $name;

      }

      function endElement($parser, $name)

      {

      global $g_elem;

      $g_elem = null;

      }

      function textData($parser, $text)

      {

      global $g_books, $g_elem;

      if($g_elem == 'AUTHOR' ||

      $g_elem == 'PUBLISHER' ||

      $g_elem == 'TITLE')

      {

      $g_books[ count($g_books)”.$book['AUTHOR'].“$author-$publisher
      ”;

      }

      php生成:

      $books = array();

      $books [] = array('title' => 'PHP Hacks','author' => 'Jack Herrington','publisher' => “O'Reilly”);

      $books [] = array('title' => 'Podcasting Hacks','author' => 'Jack Herrington','publisher' => “O'Reilly”);

      $doc = new DOMDocument();

      $doc->formatOutput = true;

      $r = $doc->createElement(“books”);

      $doc->appendChild($r);

      foreach($books as $book)

      {

      $b = $doc->createElement(“book”);

      $author = $doc->createElement(“author”);

      $author->appendChild($doc->createTextNode($book['author']));

      $b->appendChild($author);

      $title = $doc->createElement(“title”);

      $title->appendChild($doc->createTextNode($book['title']));

      $b->appendChild($title);

      $publisher = $doc->createElement(“publisher”);

      $publisher->appendChild($doc->createTextNode($book['publisher']));

      $b->appendChild($publisher);

      $r->appendChild($b);

      }

      echo $doc->saveXML();

      echo $doc->save('222.xml');

      SimpleXML

      xml:

      Jack Herrington

      PHP Hacks

      O'Reilly

      php:

      $xml = new SimpleXMLElement('1.xml', NULL, TRUE);

      echo $xml->book[0]->author.“___”.$xml->book[0]->title.“___”.$xml->book[0]->publisher;正則

      ereg系列的正則表達式不需要定屆符,preg系列的才需要,并且定界符可以自己選擇,只有前后一對就行,比如我們一般使用/符號,但是如果里面有/需要匹配那么就需要使用/來表示,當/需要出現(xiàn)多次的時候,這樣就不方便,我們就可以使用其他的定界符,比如|

      正則特殊字符

      .+ * ? [ ^ ] $(){ } =!< > | :

      由原子(普通字符,如英文字符)、元字符(有特殊功用的字符)

      模式修正字符

      一個正則表達式中,至少包含一個原子

      全部符號解釋

      將下一個字符標記為一個特殊字符、或一個原義字符、或一個 向后引用、或一個八進制轉(zhuǎn)義符。例如,'n' 匹配字符 “n”。'n' 匹配一個換行符。序列 '' 匹配 “" 而 ”(“ 則匹配 ”(“。

      ^ 匹配輸入字符串的開始位置。如果設(shè)置了 RegExp 對象的 Multiline 屬性,^ 也匹配 'n' 或 'r' 之后的位置。

      $ 匹配輸入字符串的結(jié)束位置。如果設(shè)置了RegExp 對象的 Multiline 屬性,$ 也匹配 'n' 或 'r' 之前的位置。

      * 匹配前面的子表達式零次或多次。例如,zo* 能匹配 ”z“ 以及 ”zoo“。* 等價于{0,}。

      + 匹配前面的子表達式一次或多次。例如,'zo+' 能匹配 ”zo“ 以及 ”zoo“,但不能匹配 ”z“。+ 等價于 {1,}。

      ? 匹配前面的子表達式零次或一次。例如,”do(es)?“ 可以匹配 ”do“ 或 ”does“ 中的”do“。? 等價于 {0,1}。

      {n} n 是一個非負整數(shù)。匹配確定的 n 次。例如,'o{2}' 不能匹配 ”Bob“ 中的 'o',但是能匹配 ”food“ 中的兩個 o。

      {n,} n 是一個非負整數(shù)。至少匹配n 次。例如,'o{2,}' 不能匹配 ”Bob“ 中的 'o',但能匹配 ”foooood“ 中的所有 o。'o{1,}' 等價于 'o+'。'o{0,}' 則等價于 'o*'。

      {n,m} m 和 n 均為非負整數(shù),其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,”o{1,3}“ 將匹配 ”fooooood“ 中的前三個 o。'o{0,1}' 等價于 'o?'。請注意在逗號和兩個數(shù)之間不能有空格。

      ? 當該字符緊跟在任何一個其他限制符(*, +, ?, {n}, {n,}, {n,m})后面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜索的字符串,而默認的貪婪模式則盡可能多的匹配所搜索的字符串。例如,對于字符串 ”oooo“,'o+?' 將匹配單個 ”o“,而 'o+' 將匹配所有 'o'。

      .匹配除 ”n“ 之外的任何單個字符。要匹配包括 'n' 在內(nèi)的任何字符,請使用象 '[.n]' 的模式。

      (pattern)匹配 pattern 并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中則使用 $0?$9 屬性。要匹配圓括號字符,請使用 '(' 或 ')'。

      (?:pattern)匹配 pattern 但不獲取匹配結(jié)果,也就是說這是一個非獲取匹配,不進行存儲供以后使用。這在使用 ”或“ 字符(|)來組合一個模式的各個部分是很有用。例如,'industr(?:y|ies)就是一個比 'industry|industries' 更簡略的表達式。

      (?=pattern)正向預查,在任何匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如,'Windows(?=95|98|NT|2000)' 能匹配 ”Windows 2000“ 中的 ”Windows“,但不能匹配 ”Windows 3.1“ 中的 ”Windows“。預查不消耗字符,也就是說,在一個匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始。

      (?!pattern)負向預查,在任何不匹配 pattern 的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如'Windows(?!95|98|NT|2000)' 能匹配 ”Windows 3.1“ 中的 ”Windows“,但不能匹配 ”Windows 2000“ 中的 ”Windows“。預查不消耗字符,也就是說,在一個匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始

      x|y 匹配 x 或 y。例如,'z|food' 能匹配 ”z“ 或 ”food“。'(z|f)ood' 則匹配 ”zood“ 或 ”food“。

      [xyz] 字符集合。匹配所包含的任意一個字符。例如,'[abc]' 可以匹配 ”plain“ 中的 'a'。

      [^xyz] 負值字符集合。匹配未包含的任意字符。例如,'[^abc]' 可以匹配 ”plain“ 中的'p'。

      [a-z] 字符范圍。匹配指定范圍內(nèi)的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范圍內(nèi)的任意小寫字母字符。

      [^a-z] 負值字符范圍。匹配任何不在指定范圍內(nèi)的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范圍內(nèi)的任意字符。

      b 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如,'erb' 可以匹配”never“ 中的 'er',但不能匹配 ”verb“ 中的 'er'。

      B 匹配非單詞邊界。'erB' 能匹配 ”verb“ 中的 'er',但不能匹配 ”never“ 中的 'er'。

      cx 匹配由 x 指明的控制字符。例如,cM 匹配一個 Control-M 或回車符。x 的值必須為 A-Z 或 a-z 之一。否則,將 c 視為一個原義的 'c' 字符。

      d 匹配一個數(shù)字字符。等價于 [0-9]。

      D 匹配一個非數(shù)字字符。等價于 [^0-9]。

      f 匹配一個換頁符。等價于 x0c 和 cL。

      n 匹配一個換行符。等價于 x0a 和 cJ。

      r 匹配一個回車符。等價于 x0d 和 cM。

      s 匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ fnrtv]。

      S 匹配任何非空白字符。等價于 [^ fnrtv]。

      t 匹配一個制表符。等價于 x09 和 cI。

      v 匹配一個垂直制表符。等價于 x0b 和 cK。

      w 匹配包括下劃線的任何單詞字符。等價于'[A-Za-z0-9_]'。

      W 匹配任何非單詞字符。等價于 '[^A-Za-z0-9_]'。

      xn 匹配 n,其中 n 為十六進制轉(zhuǎn)義值。十六進制轉(zhuǎn)義值必須為確定的兩個數(shù)字長。例如,'x41' 匹配 ”A“。'x041' 則等價于 'x04' & ”1“。正則表達式中可以使用 ASCII 編碼。.num 匹配 num,其中 num 是一個正整數(shù)。對所獲取的匹配的引用。例如,'(.)1' 匹配兩個連續(xù)的相同字符。

      n 標識一個八進制轉(zhuǎn)義值或一個向后引用。如果 n 之前至少 n 個獲取的子表達式,則 n 為向后引用。否則,如果 n 為八進制數(shù)字(0-7),則 n 為一個八進制轉(zhuǎn)義值。

      nm 標識一個八進制轉(zhuǎn)義值或一個向后引用。如果 nm 之前至少有 nm 個獲得子表達式,則 nm 為向后引用。如果 nm 之前至少有 n 個獲取,則 n 為一個后跟文字 m 的向后引用。如果前面的條件都不滿足,若 n 和 m 均為八進制數(shù)字(0-7),則 nm 將匹配八進制轉(zhuǎn)義值 nm。

      nml 如果 n 為八進制數(shù)字(0-3),且 m 和 l 均為八進制數(shù)字(0-7),則匹配八進制轉(zhuǎn)義值 nml。

      un 匹配 n,其中 n 是一個用四個十六進制數(shù)字表示的 Unicode 字符。例如,u00A9 匹配版權(quán)符號(?)。

      例子

      /b([a-z]+)b/i 單詞數(shù)量

      /(w+)://([^/:]+)(:d*)?([^# ]*)/ 將一個URL解析為協(xié)議、域、端口及相對路徑

      /^(?:Chapter|Section)[1-9][0-9]{0,1}$/ 定位章節(jié)的位置

      /[-a-z]/ A至z共26個字母再加一個-號。

      /terb/ 可匹配chapter,而不能terminal

      /Bapt/ 可匹配chapter,而不能aptitude

      /Windows(?=95 |98 |NT)/ 可匹配Windows95或Windows98或WindowsNT,當找到一個匹配后,從Windows后面開始進行下一次的檢索匹配。

      ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ Email 合法格式檢查

      ^[0-9]+$ 純數(shù)據(jù)檢查

      ^[0-9a-z]{1}[0-9a-z-]{0,19}$ 用戶名檢查,字母和數(shù)字開始,只能含字母、數(shù)字、橫杠

      模式修正符

      i 忽略大小寫

      s 如果設(shè)定了此修正符,模式中的圓點元字符(.)匹配所有的字符,包括換行符

      e 只用在preg_replace(),在替換字符串中對逆向引用作正常的替換,將其作為 PHP 代碼求值,并用其結(jié)果來替換所搜索的字符串。

      如:

      $p = '/[colorFont](.+?)[/colorFont]/ie';

      $t = '”“';

      ecoh preg_replace($p,$t,$string);

      這里必須加上e修正,才能將匹配到的內(nèi)容用urlencode處理

      U 貪婪模式,最大限度匹配

      如:/a[w]+?e/U匹配abceadeddd中的abceade而不是abce,如果不加U修正,則匹配abce

      A 強制從字符串開頭匹配,即自動在模式開頭加上^

      m 當設(shè)定了此修正符,“行起始” ^ 和“行結(jié)束” $ 除了匹配整個字符串開頭和結(jié)束外,還分別匹配其中的換行符的之后和之前。如果目標字符串中沒有“n”字符或者模式中沒有 ^ 或 $,則設(shè)定此修正符沒有任何效果。

      D 模式中的美元元字符僅匹配目標字符串的結(jié)尾。沒有此選項時,如果最后一個字符是換行符的話,美元符號也會匹配此字符之前。如果設(shè)定了 m 修正符則忽略此選項

      例子

      匹配中文

      preg_match_all('/[^x00-x80]+/', '中華s人s民', $a)

      如果你的文件是gb2312的,用/[xa0-xff]{2}/

      如果是utf8的,用/[xe0-xef][x80-xbf]{2}/

      匹配郵箱地址

      preg_match('/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/', 'shao@gmail.com')

      替換空白字符

      $s = preg_replace('/[sv]+/','',' sss sdd ss ');

      替換

      $string = ”April 15, 2003“;

      $pattern = ”/(w+)(d+),(d+)/i“;

      $replacement = ”${1}1,${3}1-$2“;

      echo preg_replace($pattern, $replacement, $string);

      匹配帳號是否合法(字母開頭,允許5-6字節(jié),允許字母數(shù)字下劃線)

      preg_match('/^[a-zA-Z][a-zA-Z0-9_]{4,5}$/', 'a011a')

      匹配數(shù)字

      /^-d*$/ 匹配負整數(shù)

      /^-?d*$/ 匹配整數(shù)

      匹配浮點數(shù)

      preg_match(”/^-?(d*.d*|0.d*|0?.0+|0)$/“, ”11“)

      匹配電話號碼

      preg_match(”/^(0[0-9]{2,3}-)?([2-9][0-9]{6,7}){1,1}(-[0-9]{1,4}){0,1}$/“,”0511-22345678-11“)

      匹配手機號碼

      preg_match(”/^1(3|5)d{9}$/“,”***“)

      文件處理

      文件屬性

      file_exists('1.php')文件或目錄是否存在 filesize()取得文件大小

      is_readable()判斷給定文件名是否可讀

      is_writable()判斷給定文件名是否可寫

      is_executable()判斷給定文件名是否可執(zhí)行

      filectime()獲取文件的創(chuàng)造時間

      filemtime()獲取文件的修改時間

      fileatime()獲取文件的訪問時間

      stat()獲取文件大部分屬性值 解析目錄

      basename()返回路徑中的文件名部分

      dirname()返回目錄

      pathinfo()返回目錄名、基本名和擴展名的關(guān)聯(lián)數(shù)組 遍歷目錄

      opendir()打開指定目錄

      readdir()關(guān)閉指定目錄

      closedir()關(guān)閉指定目錄

      rewinddir()倒回目錄句柄

      $dir_handle=opendir('.');

      while($file=readdir($dir_handle))

      {

      echo filesize($file).'___'.$file.'
      ';

      }

      closedir($dir_handle);建立和刪除目錄

      mkdir()創(chuàng)建目錄

      rmdir()刪除空目錄 文件操作

      fopen()fclose()fwrite()寫入文件

      fputs()fwrite的別名

      file_put_contents($文件名,$內(nèi)容)把內(nèi)容存成文件

      file_get_contents()從文件讀出內(nèi)容 文件讀取

      fread()stream_get_contents()fgets()從文件指針中讀取一行

      feof()測試文件指針是否到了文件結(jié)束的位置

      fgetc()從文件指針中讀取字符

      file()readfile()讀入一個文件并寫入到輸出緩沖

      ftell()返回文件指針的當前位置

      fseek()移動文件指針到指定的位置

      rewind()移動文件指針到文件的開頭

      flock()文件鎖定

      copy()復制文件

      unlink()刪除文件

      ftruncate()將文件截斷到指定的長度

      rename()重命名文件或目錄

      文件控制

      chgrp

      chmod(string $filename , int $mode)

      chown 保存讀取文件

      -----------把內(nèi)容存成文件

      $cache_file = fopen('f:1.txt', 'w+');

      fwrite($cache_file, $t);

      -----------把內(nèi)容存成文件

      $s = ”內(nèi)容“;

      file_put_contents('f:/2.txt',$s);

      -----------把文件內(nèi)容讀成字符串

      $s = file_get_contents('f:/2.txt');

      echo $s;

      -----------把文件內(nèi)容按行讀成字符串

      $handle = @fopen(”f:/2.txt“, ”r“);

      if($handle)

      {

      while(!feof($handle))

      {

      $buffer = fgets($handle, 4096);

      echo $buffer.'
      ';

      }

      fclose($handle);

      }

      ----------

      session/cookie setcookie(”MyCookie[foo]“, 'Testing 1', time()+3600)session_start()ini_set('session.cookie_lifetime',0);session對應(yīng)cookie存活時間

      ini_set('session.save_path', 'dir');ini_set('session.save_path', '2;session');session分兩級存放

      ini_set('session.name','SNS');客戶端禁用Cookie

      session.use_trans_sid = 1 開啟url傳遞sessionId php.ini session銷毀

      mysql $link = mysql_connect('localhost','root','root')or die(mysql_errno());mysql_select_db('test')or die(mysql_errno());mysql_query('SET NAMES gbk');$sql = ”SELECT * FROM test LIMIT 0,20“;$result = mysql_query($sql)or die(mysql_errno());while($msg = mysql_fetch_array($result)){

      print_r($msg);} mysql_free_result($result);mysql_close($link);

      mysqli 查詢

      過程

      $db_host=”localhost“;

      //連接的服務(wù)器地址

      $db_user=”root“;

      //連接數(shù)據(jù)庫的用戶名

      $db_psw=”root“;

      //連接數(shù)據(jù)庫的密碼

      $db_name=”test“;//連接的數(shù)據(jù)庫名稱

      $mysqli=mysqli_connect($db_host,$db_user,$db_psw,$db_name);

      mysqli_query($mysqli,'SET NAMES utf8');

      $query=”select * from users“;

      $result=mysqli_query($mysqli,$query);

      while($row =mysqli_fetch_array($result))//循環(huán)輸出結(jié)果集中的記錄

      {

      echo($row['id']).”
      “;

      echo($row['username']).”
      “;

      echo($row['password']).”
      “;

      echo ”


      “;

      }

      mysqli_free_result($result);

      mysqli_close($mysqli);

      對象

      $db_host=”localhost“;

      //連接的服務(wù)器地址

      $db_user=”root“;

      //連接數(shù)據(jù)庫的用戶名

      $db_psw=”root“;

      //連接數(shù)據(jù)庫的密碼

      $db_name=”test“;//連接的數(shù)據(jù)庫名稱

      $mysqli=new mysqli($db_host,$db_user,$db_psw,$db_name);

      $mysqli->query('SET NAMES utf8');

      $query=”select * from users“;

      $result=$mysqli->query($query);

      if($result)

      {

      if($result->num_rows>0)//判斷結(jié)果集中行的數(shù)目是否大于0

      {

      while($row =$result->fetch_array())//循環(huán)輸出結(jié)果集中的記錄

      {

      echo($row[0]).”
      “;

      echo($row[1]).”
      “;

      echo($row[2]).”
      “;

      echo ”


      “;

      } } } else { echo ”查詢失敗“;} $result->free();$mysqli->close();增、刪、改

      $mysqli=new mysqli(”localhost“,”root“,”root“,”sunyang“);//實例化mysqli $query=”delete from employee where emp_id=2“;$result=$mysqli->query($query);if($result){

      echo ”刪除操作執(zhí)行成功“;}else{

      echo ”刪除操作執(zhí)行失敗“;} $mysqli->close();綁定結(jié)果

      $mysqli=new mysqli(”localhost“,”root“,”root“,”test“);

      //實例化mysqli $query=”select * from users“;$result=$mysqli->prepare($query);

      //進行預準備語句查詢

      $result->execute();

      //執(zhí)行預準備語句

      $result->bind_result($id,$username,$password);

      //綁定結(jié)果

      while($result->fetch()){

      echo $id.'_';

      echo $username.'_';

      echo $password;

      echo ”
      “;} $result->close();

      //關(guān)閉預準備語句

      $mysqli->close();

      //關(guān)閉連接 綁定參數(shù)

      $mysqli=new mysqli(”localhost“,”root“,”root“,”test“);

      //實例化mysqli $query=”insert into users(id, username, password)

      values('',?,?)“;

      $result=$mysqli->prepare($query);

      $result->bind_param(”ss“,$username,$password);

      //綁定參數(shù) I:integer D:double S:string B:blob

      $username='sy0807';

      $password='employee7';

      $result->execute();

      //執(zhí)行預準備語句

      $result->close();

      $mysqli->close();

      綁定參數(shù)、綁定結(jié)果

      $mysqli=new mysqli(”localhost“,”root“,”root“,”test“);

      //實例化mysqli

      $query=”select * from users where id < ?“;

      $result=$mysqli->prepare($query);

      $result->bind_param(”i“,$id);

      //綁定參數(shù)

      $id=10;

      $result->execute();

      $result->bind_result($id,$username,$password);

      //綁定結(jié)果

      while($result->fetch()){

      echo $id.”_“;

      echo $username.”_“;

      echo $password;

      echo ”
      “;

      }

      $result->close();

      $mysqli->close();

      多條查詢語句

      $mysqli=new mysqli(”localhost“,”root“,”root“,”test“);

      //實例化mysqli

      $query = ”select id from users;“;

      $query.= ”select id from test “;

      if($mysqli->multi_query($query)){

      //執(zhí)行多個查詢

      do {

      if($result = $mysqli->store_result()){

      while($row = $result->fetch_row()){

      echo $row[0];

      echo ”
      “;

      }

      $result->close();

      }

      if($mysqli->more_results()){

      echo(”-----------------
      “);

      //連個查詢之間的分割線

      }

      } while($mysqli->next_result());

      }

      $mysqli->close();//關(guān)閉連接

      pdo 查詢

      $db = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');

      $sql=”SELECT * FROM users“;

      $result = $db->query($sql);

      foreach($result as $row)

      {

      var_dump($row);

      }

      $db = null;增、刪、改、事務(wù)開啟

      try

      {

      $db = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');

      $db->beginTransaction();

      $a = $db->exec(”insert into users(id, username, password)values('', 'Joe', 'Bloggs')“);

      if($a == false)

      {

      throw new Exception(”sql1執(zhí)行失敗“);

      }

      $b = $db->exec(”insert into users(id, username, password,kkk)values('', 'Joe', 'Bloggs')“);

      if($b == false)

      {

      throw new Exception(”sql2執(zhí)行失敗“);

      }

      $db->commit();

      $db = null;

      }

      catch(Exception $ex)

      {

      echo $ex;

      $db->rollback();

      } 緩存

      Memcache

      .下載memcached,http://', 'w+');

      fwrite($cache_file, $content);

      頁面靜態(tài)化-------

      ob_start();

      $static_file = '1.html';//靜態(tài)頁面

      $php_file = basename(__FILE__);//當前動態(tài)頁面

      if(!file_exists($static_file)||

      ((filemtime($static_file)+10)< time())|| //緩存固定時間

      filemtime($php_file)> filemtime($static_file))//源文件已修改

      {

      echo '靜態(tài)頁面示例';

      echo 'erer';

      $c = ob_get_contents();

      ob_clean();

      file_put_contents($static_file, $c);

      }

      $s = file_get_contents($static_file);

      echo $s;

      ------------------

      ob_implicit_flush($p)$p:0:關(guān)閉 1:開啟(每次輸出后都自動刷新,而不再需要去調(diào)用flush())

      ob_list_handlers 列出所有使用的輸出句柄

      output_add_rewrite_var

      output_add_rewrite_var('var', 'value');

      echo 'link';

      輸出:link

      output_reset_rewrite_vars

      output_add_rewrite_var('var', 'value');

      echo 'link';//輸出:link

      ob_flush();

      output_reset_rewrite_vars();

      echo 'link';//輸出:link

      偽靜態(tài)

      首先:

      必須要空間支持 Rewrite 以及對站點目錄中有.htaccess 的文件解析,才有效.如何讓空間支持Rewrite 和.htaccess 的文件解析呢 往下看

      第一步:要找到apache安裝目錄下的httpd.cof文件,在里面找到

      Options FollowSymLinks

      AllowOverride none 把none改all, 第二步:找到以下內(nèi)容:

      #LoadModule rewrite_module modules/mod_rewrite.so 改為

      LoadModule rewrite_module modules/mod_rewrite.so 第三步:保存重啟apache。

      ok。

      其次是.htaccess的書寫規(guī)則:

      RewriteEngine On

      RewriteBase /

      #打開允許符號鏈接

      Options FollowSymLinks

      RewriteRule smarty/([0-9]+)/([0-9]+)smarty/index.php?id=$1&name=$2

      .htaccess加入以下內(nèi)容

      RewriteEngine On RewriteBase / RewriteRule ^(.*)list-id([0-9]+).html$ $1/company/search.php?sectorid2=$2 RewriteRule ^(.*)cominfo-([a-z0-9]+).html$ $1/member/index.php?uid=$2&type=cominfo RewriteRule ^(.*)list-([0-9]+)-([0-9]+).html$ $1/plus/list.php?typeid=$2&PageNo=$3 RewriteCond %{HTTP_HOST} ^[a-z0-9-]+.lujin.com$ RewriteCond %{HTTP_HOST}!^($ $1/company/search.php?sectorid2=$2 這條是把企業(yè)庫的分類進行偽靜態(tài)處理

      原先假設(shè)訪問地址為http://

      優(yōu)點:

      1、偽靜態(tài)處理加速搜索引擎收入

      2、地址映射到根目錄,增加權(quán)重,提高排名

      序列化

      __sleep()__wakeup()-----------------$a = array(”1“=>”a“,”2“=>”b“,”3“=>”c“,”4“=>”d“);$b = serialize($a);/*序列化*/ var_dump($b);$f = unserialize($b);/*解析*/ var_dump($f);---------------------class S {

      public $t = 111;

      public function t()

      {

      echo 't function';

      } } $s = new S;$t = serialize($s);$e = unserialize($t);echo $e->t();echo $e->t;--------------------class S {

      public $id;

      public $name;

      public function f()

      {

      echo 'f function';

      }

      function __sleep()

      {

      $this->id = uniqid();

      return array('id','name');

      }

      function __wakeup(){

      //$this->id = uniqid();} } $s = new S();$s->name = 'name';$e = serialize($s);$t = unserialize($e);echo $t->id.'_',$t->name,' ';echo $t->f();----------------------------class S { public $t = 111;public function t(){

      echo 't function';} } $s = new S;$t = serialize($s);$cache_file = fopen('f:/1.txt', 'w+');fwrite($cache_file, $t);/* die;$e = unserialize($t);echo $e->t();echo $e->t;*/ $handle = @fopen(”f:/1.txt“, ”r“);if($handle){ while(!feof($handle)){

      $buffer = fgets($handle, 4096);

      break;} fclose($handle);} $e = unserialize($buffer);echo $e->t();echo $e->t;----------

      ThinkPHP2.0 入口文件配置

      define('STRIP_RUNTIME_SPACE', false);生成的~runtime.php文件是否去空白和注釋

      define('NO_CACHE_RUNTIME', true);不生成核心緩存文件

      查詢

      按照id排序顯示前6條記錄

      $Form = M(”Form“);

      $list = $Form->order('id desc')->limit(6)->select();

      取得模板顯示變量的值

      $this->assign('tt', 'vvvvvvvvvvvv');

      echo $this->get('tt')

      成功失敗提示頁

      if(false!==$Form->add()){

      $this->success('數(shù)據(jù)添加成功!');

      }else{

      $this->error('數(shù)據(jù)寫入錯誤');

      }

      自動驗證

      array(驗證字段,驗證規(guī)則,錯誤提示,驗證條件,附加規(guī)則,驗證時間)

      驗證規(guī)則:require 字段必須、email 郵箱、url URL地址、currency 貨幣、number 數(shù)字

      Model:: MODEL_INSERT 或者1新增數(shù)據(jù)時候驗證

      Model:: MODEL_UPDATE 或者2編輯數(shù)據(jù)時候驗證

      Model:: MODEL_BOTH 或者3 全部情況下驗證(默認)

      protected $_validate = array(array('verify','require','驗證碼必須!'), //默認情況下用正則進行驗證

      array('name','','帳號名稱已經(jīng)存在!',0,’unique’,1), // 在新增的時候驗證name字段是否唯一

      array('value',array(1,2,3),'值的范圍不正確!',2,’in’), // 當值不為空的時候判斷是否在一個范圍內(nèi)

      array('repassword','password','確認密碼不正確',0,’confirm’), // 驗證確認密碼是否和密碼一致

      array('password','checkPwd','密碼格式不正確',0,’function’), // 自定義函數(shù)驗證密碼格式);

      apache多域名配置

      NameVirtualHost *:80 Alias /php/ ”f:/php/“ Options Indexes Order allow,deny Allow from all DocumentRoot F:/php ServerPath F:/php ServerAlias 004km.cn ServerName 004km.cn Options Indexes Order allow,deny Allow from all ServerName 004km.cn ServerAlias 004km.cn ServerPath F:/php2 DocumentRoot F:/php2

      第二篇:php開發(fā)中常用函數(shù)總結(jié)

      php開發(fā)中常用函數(shù)總結(jié)

      1.獲取IP2.時間的增加3.檢查日期是否合法日期4.時間比較函數(shù),返回兩個日期相差幾秒、幾分鐘、幾小時或幾天5.PHP重定向6.獲取訪問者瀏覽器7.獲取訪問者操作系統(tǒng)8.文件格式類9.php生成excel文檔10.時間比較問題11.提取頁面和瀏覽器提交的變量,作用相當于使PHP.INI開了全局變量12.讀取文件函數(shù)13.寫入文件函數(shù)14.頁面快速轉(zhuǎn)向15.產(chǎn)生隨機字符串函數(shù)16.截取一定長度的字符串(該函數(shù)對GB2312使用有效)17.取得客戶端IP地址18.判斷郵箱地址19.分頁(兩個函數(shù)配合使用)20.獲取新插入數(shù)據(jù)的ID21.獲得當前的腳本網(wǎng)址22.把全角數(shù)字轉(zhuǎn)為半角數(shù)字23.去除HTML標記24.相對路徑轉(zhuǎn)化成絕對路徑26.取得所有鏈接27.HTML表格的每行轉(zhuǎn)為CSV格式數(shù)組28.將HTML表格的每行每列轉(zhuǎn)為數(shù)組,采集表格數(shù)據(jù)29.返回字符串中的所有單詞 $distinct=true 去除重復30.打印出為本PHP項目做出貢獻的人員的清單

      function GetIP(){ //獲取IP

      if($_SERVER[“HTTP_X_FORWARDED_FOR”])

      $ip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

      else if($_SERVER[“HTTP_CLIENT_IP”])

      $ip = $_SERVER[“HTTP_CLIENT_IP”];

      else if($_SERVER[“REMOTE_ADDR”])

      $ip = $_SERVER[“REMOTE_ADDR”];

      else if(getenv(“HTTP_X_FORWARDED_FOR”))

      $ip = getenv(“HTTP_X_FORWARDED_FOR”);

      else if(getenv(“HTTP_CLIENT_IP”))

      $ip = getenv(“HTTP_CLIENT_IP”);

      else if(getenv(“REMOTE_ADDR”))

      $ip = getenv(“REMOTE_ADDR”);

      else

      $ip = “Unknown”;

      return $ip;}?>{downsource}

      $dateArr = explode(“-”, $date);$value[$unit] = $int;return date(“Y-m-d”, mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y']));}function GetWeekDay($date){ //計算出給出的日期是星期幾

      $dateArr = explode(“-”, $date);return date(“w”, mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));}?>{downsource}

      $dateArr = explode(“-”, $date);if(is_numeric($dateArr[0])&& is_numeric($dateArr[1])&& is_numeric($dateArr[2])){ return checkdate($dateArr[1],$dateArr[2],$dateArr[0]);} return false;}function check_time($time){ //檢查時間是否合法時間

      $timeArr = explode(“:”, $time);if(is_numeric($timeArr[0])&& is_numeric($timeArr[1])&& is_numeric($timeArr[2])){ if(($timeArr[0] >= 0 && $timeArr[0] <= 23)&&($timeArr[1] >= 0 && $timeArr[1] <= 59)&&($timeArr[2] >= 0 && $timeArr[2] <= 59))return true;else return false;} return false;}function DateDiff($date1, $date2, $unit = “"){ //時間比較函數(shù),返回兩個日期相差幾秒、幾分鐘、幾小時或幾天

      switch($unit){ case 's': $dividend = 1;break;case 'i': $dividend = 60;break;case 'h': $dividend = 3600;break;case 'd': $dividend = 86400;break;default: $dividend = 86400;} $time1 = strtotime($date1);$time2 = strtotime($date2);if($time1 && $time2)return(float)($time11;mt_srand((double)microtime()* 1000000);for($i = 0;$i < $length;$i++){ $hash.= $chars[mt_rand(0, $max)];}return $hash;}?>{downsource}截取一定長度的字符串(該函數(shù)對GB2312使用有效) $length){ if($sss){ $length=$length-3;$addstr=@#...@#;} for($i = 0;$i < $length;$i++){ if(ord($string[$i])> 127){ $wordscut.= $string[$i].$string[$i + 1];$i++;} else { $wordscut.= $string[$i];} } return $wordscut.$addstr;}return $string;}?>{downsource}取得客戶端IP地址{downsource}判斷郵箱地址{downsource}分頁(兩個函數(shù)配合使用)

      global $page,$totalpage;$out=”共“.$totalpage.”頁 “;$linkNum =4;$start =($page-round($linkNum/2))>0 ?($page-round($linkNum/2)): ”1“;$end =($page+round($linkNum/2))<$totalpage ?($page+round($linkNum/2)): $totalpage;$prestart=$start-1;$nextend=$end+1;if($page<>1)$out.= ”第一頁 “;if($start>1)$out.=”..<< “;for($t=$start;$t<=$end;$t++){ $out.=($page==$t)? ”[“.$t.”] “ : ”$t “;}if($end<$totalpage)$out.=”>>..“;if($page<>$totalpage)$out.= ” 最后頁“;return $out;}?>{downsource}獲取新插入數(shù)據(jù)的ID{downsource}//獲得當前的腳本網(wǎng)址

      if(empty($_SERVER[”QUERY_STRING“]))$nowurl = $scriptName;else $nowurl = $scriptName.”?“.$_SERVER[”QUERY_STRING“];} return $nowurl;}?>{downsource}//把全角數(shù)字轉(zhuǎn)為半角數(shù)字{downsource}//去除HTML標記“,”>“,$txt);$txt = preg_replace(”/[rn]{1,}/isU“,”rn“,$txt);return $txt;}?>{downsource}//相對路徑轉(zhuǎn)化成絕對路徑

      preg_match('/(http|https|ftp):///', $feed_url, $protocol);$server_url = preg_replace(”/(http|https|ftp|news):///“, ”“, $feed_url);

      $server_url = preg_replace(”//.*/“, ”“, $server_url);

      if($server_url == ''){

      return $content;

      }

      if(isset($protocol[0])){

      $new_content = preg_replace('/href=”//', 'href=“'.$protocol[0].$server_url.'/', $content);

      $new_content = preg_replace('/src=”//', 'src=“'.$protocol[0].$server_url.'/', $new_content);

      } else {

      $new_content = $content;

      }

      return $new_content;} ?>{downsource}//取得所有鏈接

      preg_match_all('/“' ]+)[”|']?s*[^>]*>([^>]+)/i',$code,$arr);

      return array('name'=>$arr[2],'url'=>$arr[1]);}?>{downsource}//HTML表格的每行轉(zhuǎn)為CSV格式數(shù)組]*?>'si”,'“',$table);$table = str_replace(”“,'”,',$table);$table = str_replace(“”,“{tr}”,$table);//去掉 HTML 標記

      $table = preg_replace(“'<[/!]*?[^<>]*?>'si”,“",$table);//去掉空白字符

      $table = preg_replace(”'([rn])[s]+'“,”“,$table);$table = str_replace(” “,”“,$table);$table = str_replace(” “,”“,$table);$table = explode(”,{tr}“,$table);

      array_pop($table);return $table;}?>{downsource}//將HTML表格的每行每列轉(zhuǎn)為數(shù)組,采集表格數(shù)據(jù)]*?>'si“,”“,$table);$table = preg_replace(”']*?>'si“,”“,$table);$table = preg_replace(”']*?>'si“,”“,$table);$table = str_replace(”“,”{tr}“,$table);$table = str_replace(”“,”{td}“,$table);//去掉 HTML 標記

      $table = preg_replace(”'<[/!]*?[^<>]*?>'si“,”“,$table);//去掉空白字符

      $table = preg_replace(”'([rn])[s]+'“,”“,$table);$table = str_replace(” “,”“,$table);$table = str_replace(” “,”“,$table);

      $table = explode('{tr}', $table);

      array_pop($table);foreach($table as $key=>$tr){ $td = explode('{td}', $tr);array_pop($td);$td_array[] = $td;} return $td_array;}?>{downsource}//返回字符串中的所有單詞 $distinct=true 去除重復{downsource}//打印出為本PHP項目做出貢獻的人員的清單 //生成隨機密碼function randStr($len=6){//用來產(chǎn)生密碼的字符串$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789';$password=”";while(strlen($password)<$len)

      $password.=substr($chars,(mt_rand()%strlen($chars)),1);return $password;

      }

      第三篇:開發(fā)技術(shù)(PHP)測試題

      1、簡述靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁的區(qū)別,從文件擴展名、使用技術(shù)、表現(xiàn)形式、執(zhí)行位置等進行闡述

      答案:

      2、簡述如何搭建PHP程序的環(huán)境

      答案:

      3、簡述PHP語言中,流程控制的分類,及幾種代表語句。

      答案:

      4、簡述表單提交過程中,get和post方式的區(qū)別

      答案:

      5、簡述session機制的原理

      答案:

      6、如何在php程序中啟動session

      答案:

      7、代碼如下

      $arr=array(“I”,“am”,“a”,“student”);

      $whole=implode(_,$arr);

      echo $whole;

      代碼輸出的結(jié)果是:

      答案:

      8、代碼如下

      $color=imagecolorallocate($img,0,0,255);

      代碼實現(xiàn)的功能:

      答案:

      9、代碼如下:

      echo “今天是 ”.date(Y年n月j日);

      $w=date(w);

      $week=array(星期日,星期一,星期二,星期三,星期四,星期五,星期六);

      echo $week[$w];

      代碼實現(xiàn)的功能:

      輸出今天的日期和是周幾

      輸出的內(nèi)容是(按考試的日期來輸出即可):

      2021/12/21 星期二

      答案:

      10、代碼如下:

      $pageno=isset($_GET[pageno])?$_GET[pageno]:1;

      代碼實現(xiàn)的功能:

      答案:

      11、php的源碼是

      A、開放的

      B、封閉的C、需購買的D、完全不可見的答案: A12、靜態(tài)網(wǎng)頁的執(zhí)行在瀏覽器端完成,動態(tài)網(wǎng)頁的執(zhí)行在服務(wù)器端完成答案: 正確

      13、動態(tài)頁面中不可以出現(xiàn)html、css和javaScript的代碼

      答案: 錯誤

      14、服務(wù)器收到客戶發(fā)出的靜態(tài)頁面請求之后,只把該頁面文件發(fā)送給客戶瀏覽器來執(zhí)行

      答案: 錯誤

      15、存放在任意文件夾中的php文件都可以通過localhost/…方式來執(zhí)行

      答案: 錯誤

      16、搭建PHP環(huán)境時要先安裝php,再安裝apache服務(wù)器

      答案: 錯誤

      17、apache服務(wù)默認占用80號端口,不可更改

      答案: 錯誤

      18、下面哪項不屬于靜態(tài)網(wǎng)頁設(shè)計中使用的核心技術(shù)

      A、HTML

      B、DreamWeaver

      C、CSS

      D、Javascript

      答案: B19、下面哪組中列舉的技術(shù)都屬于動態(tài)網(wǎng)頁設(shè)計時使用的核心技術(shù)

      A、ASP、JSP、SSP

      B、JSP、XHTML、PHP

      C、JSP、PHP、ASP

      D、PHP、ASP、Javascript

      答案: C20、動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁的本質(zhì)區(qū)別是

      A、靜態(tài)頁面運行后能夠查看所有的源代碼,動態(tài)頁面中動態(tài)部分源代碼則無法查看

      B、靜態(tài)網(wǎng)頁任何時候運行內(nèi)容都相同,動態(tài)頁面則不然

      C、動態(tài)頁面是在服務(wù)器端執(zhí)行的,而靜態(tài)頁面是在瀏覽器端執(zhí)行的D、靜態(tài)頁面中可以包含各種小動畫,動態(tài)頁面不可以

      答案: C21、下面各種說法中錯誤的是

      A、在動態(tài)頁面中可以包含大量的靜態(tài)代碼

      B、使用靜態(tài)頁面技術(shù)可以實現(xiàn)動態(tài)變化的時鐘效果

      C、動態(tài)頁面的運行過程通常會包含在服務(wù)器端的執(zhí)行過程和在瀏覽器端的執(zhí)行過程兩個階段

      D、瀏覽器請求執(zhí)行一個靜態(tài)頁面時,服務(wù)器先把頁面文件執(zhí)行完畢,然后將結(jié)果傳遞到瀏覽器端顯示

      答案: D22、下面關(guān)于PHP的說法錯誤的是

      A、PHP是一種服務(wù)器端的腳本

      B、PHP程序可以在任意環(huán)境中執(zhí)行

      C、在PHP文件中可以包含任意的HTML代碼和樣式的應(yīng)用

      D、使用PHP可以實現(xiàn)注冊、登錄、在線投票、訪客計數(shù)等動態(tài)頁面中需要的各種功能

      答案: B23、若PHP文件中包含html代碼,下面描述中正確的是

      A、服務(wù)器將整個php文件發(fā)送給瀏覽器執(zhí)行

      B、服務(wù)器將所有代碼執(zhí)行后將結(jié)果送給瀏覽器

      C、服務(wù)器執(zhí)行html代碼后將執(zhí)行結(jié)果和php代碼一起送給瀏覽器

      D、服務(wù)器執(zhí)行php代碼后,將指向結(jié)果和html代碼一起送給瀏覽器

      答案: D24、下面哪組是PHP支持的服務(wù)器環(huán)境

      A、Apache和pws

      B、Apache、IIS和pws

      C、Apache和IIS

      D、只有Apache

      答案: C25、若是系統(tǒng)中已經(jīng)存在了IIS服務(wù),且占用了80端口號,則下面說法正確的是

      A、Apache能夠成功安裝,但是無法啟用,只需要修改端口號即可啟用

      B、Apache無法完成安裝過程

      C、Apache能夠成功安裝,且能正常啟用

      D、以上說法都不正確

      答案: A26、下面關(guān)于Apache主目錄說法錯誤的是

      A、安裝Apache之后,必須要將頁面文件放在其主目錄下才能正常運行

      B、安裝Apache之后,系統(tǒng)會給其指定默認的主目錄

      C、Apache的主目錄不能隨意修改

      D、用戶可以根據(jù)需要修改Apache主目錄

      答案: C27、搭建apache web服務(wù)器(使用phpstduy)之后,默認情況下運行文件時的localhost對應(yīng)哪個文件夾?

      A、apache

      B、htdocs

      C、,需要使用哪個代碼實現(xiàn)

      A、onsubmit=“window.open(zhuce.html);”

      B、onsubmit=“window.open(zhuce.html);”

      C、onclick=“window.open(zhuce.html);”

      D、onclick=“window.open(zhuce.html);”

      答案: C185、要在表單文本框中顯示數(shù)組元素$row[title]的值,則代碼是:

      答案:

      echo $row[title];;

      解析:

      186、判斷表單文本框age的數(shù)據(jù)是否提交到服務(wù)器端的方法是______

      A、if($_POST[age]==)

      B、if(isset($_POST[age]))

      C、if($_POST[age]=)

      D、if(isset($_FILES[age]))

      答案: A187、代碼if(document.getElementById(jieshao).value=)用于判斷id為jieshao的表單元素值是否為空

      答案: 錯誤

      188、使用函數(shù)move_uploaded_file()時只需提供一個參數(shù)

      答案: 錯誤

      189、表單中有文件域元素時,下面哪個說法錯誤________

      A、中method屬性取值可以是get

      B、中enctype屬性取值為multipart/form-data

      C、文件域元素需要設(shè)置name屬性

      D、可以有多個文件域元素

      答案: A190、存在表單文件域元素fname,系統(tǒng)數(shù)組$_FILES[fname]中的內(nèi)容不包括___

      A、上傳文件的名稱

      B、上傳文件的類型

      C、上傳文件的大小

      D、上傳文件的內(nèi)容

      答案: D191、進行文件上傳時,文件相關(guān)信息存放在系統(tǒng)數(shù)組____中

      答案: $_FILES;

      192、以下系統(tǒng)數(shù)組中可以使用兩個下標的是___________

      A、$_POST

      B、$_GET

      C、$_FILES

      D、$_SESSION

      答案: C193、函數(shù)move_uploaded_file()只需要一個參數(shù)()

      答案: 錯誤

      194、若存在文件域元素名稱為f1,$_FILES[‘F1’]是一個數(shù)組()

      答案: 正確

      195、進行文件上傳時,需要在form標記中設(shè)置屬性enctype的取值是

      A、multipart/form-data

      B、text/plain

      C、application/x-www-form-urlencoded

      D、以上都不是

      答案: A196、關(guān)于函數(shù)move_uploaded_file(),下列說法錯誤的是

      A、該函數(shù)需要指定兩個參數(shù)

      B、第二個參數(shù)需要同時指定文件存儲的位置和要保存文件的名稱

      C、第一個參數(shù)需要指定文件的臨時存儲位置和臨時名稱

      D、以上說法都是錯誤的答案: D197、關(guān)于系統(tǒng)數(shù)組$_FILES,第二個下標不包含下面哪一項

      A、tmpname

      B、size

      C、name

      D、type

      答案: A198、關(guān)于多文件上傳功能中,下面說法錯誤的是

      A、文件域元素中必須添加multiple屬性

      B、可以同時選擇不同文件夾中的文件

      C、$_FILES[file1][name]是一個數(shù)組

      D、文件域元素的name屬性取值必須帶有[]

      答案: B199、$_FILES{“touxiang”][“type”]作用是

      A、獲取上傳文件的類型

      B、獲取上傳文件的大小

      C、獲取上傳文件的名稱

      D、獲取上傳文件的臨時存儲信息

      答案: A200、完成文件上傳功能,在標簽中使用哪個屬性設(shè)置編碼_____

      A、enctype

      B、name

      C、ID

      D、action

      答案: A201、在A網(wǎng)頁上創(chuàng)建了一個Session變量:$____SESSION[“user”]=“張三”,在B網(wǎng)頁上要輸出這個Session變量的值,應(yīng)使用。

      答案: echo $_SESSION[“user”];

      202、在同一個網(wǎng)站的不同文件之間傳遞數(shù)據(jù)的機制是__________

      A、session

      B、cookie

      C、application

      D、post

      答案: A203、下面哪個系統(tǒng)數(shù)組不用于接收表單提交的數(shù)據(jù)________

      A、$_SESSION

      B、$_FILES

      C、$_POST

      D、$_GET

      答案: A204、關(guān)于session機制的描述中正確的是_____

      A、用戶的session都保存在瀏覽器端

      B、一旦某個頁面向session中提供了數(shù)據(jù),當前網(wǎng)站中在該頁面之后執(zhí)行的頁面文件都可以根據(jù)需要從中獲取該數(shù)據(jù)

      C、不同網(wǎng)站的頁面之間可以通過session機制來傳遞數(shù)據(jù)

      D、session中存放的是所有用戶的共用數(shù)據(jù)

      答案: B205、點擊超鏈接可以向服務(wù)器提交數(shù)據(jù)()

      答案: 正確

      206、鏈接打開文件count.php時使用鍵名uname提交數(shù)據(jù)“l(fā)iuhong”,超鏈接href屬性的取值為

      A、href=“count.php”?uname=“l(fā)iuhong”

      B、href=“count.php?uname:liuhong”

      C、href=“count.php?uname=liuhong”

      D、href=“count.php”?uname:“l(fā)iuhong”

      答案: C207、關(guān)于session機制的描述中錯誤的是

      A、服務(wù)器可通過sessionID來區(qū)分各個不同用戶

      B、一旦某個頁面向session管道中提供了數(shù)據(jù),當前網(wǎng)站中在該頁面之后執(zhí)行的頁面文件都可以根據(jù)需要從管道中獲取該數(shù)據(jù)

      C、不同網(wǎng)站的頁面之間可以通過session機制來傳遞數(shù)據(jù)

      D、要提供數(shù)據(jù)的頁面和要獲取數(shù)據(jù)的頁面都要啟用session

      答案: C208、下面說法中錯誤的是

      A、變量有生命周期

      B、session有生命周期

      C、session產(chǎn)生于用戶開始訪問一個網(wǎng)站時

      D、一個session中可以保存多個用戶的信息

      答案: D209、在PHP中,有兩個函數(shù)與cookie操作有關(guān)。其中____用來設(shè)置cookie變量內(nèi)容, ____用來讀取cookie變量內(nèi)容。

      答案: setcookie;$_COOKIE;

      210、能夠在同一網(wǎng)站不同頁面之間傳遞數(shù)據(jù)的機制是____,在程序代碼開始處啟用該機制時需要使用的代碼是____

      答案: session;session_start();

      211、Session可以在不同網(wǎng)站的頁面之間傳遞數(shù)據(jù)()

      答案: 錯誤

      212、mysql數(shù)據(jù)庫中查詢數(shù)據(jù)用select語句

      答案: 正確

      213、以下說法不正確的是

      A、模糊查詢使用的關(guān)鍵字是like

      B、排序查詢asc是降序,desc是升序

      C、分頁查詢使用的關(guān)鍵字是limit

      D、mysql如果只安裝服務(wù)不安裝界面也可以正常使用

      答案: B214、在用瀏覽器查看網(wǎng)頁時出現(xiàn)404錯誤可能的原因是

      A、頁面源代碼錯誤

      B、文件不存在C、與數(shù)據(jù)庫連接錯誤

      D、權(quán)限不足

      答案: B215、安裝MySQL數(shù)據(jù)庫之后,默認使用的是根用戶root

      答案: 正確

      216、卸載MySQL時,說法正確的是

      A、只要在控制面板中卸載軟件即可

      B、在控制面板中卸載軟件后,清理完注冊表信息即可

      C、先刪除系統(tǒng)盤符下的文件夾,再清理注冊表信息,最后卸載軟件

      D、先在控制面板中卸載軟件,然后清理注冊表信息,最后刪除系統(tǒng)盤符下的相關(guān)文件夾

      答案: D217、MySQL服務(wù)器有一個超級管理員賬號,其名稱是()

      A、admin

      B、root

      C、sa

      D、Administrator

      答案: B218、mysqli中返回結(jié)果集中記錄總數(shù)的函數(shù)是()

      A、fetch_row

      B、fetch_assoc

      C、num_rows

      D、field_count

      答案: C219、訪問mysql數(shù)據(jù)庫時,用來選擇并打開指定數(shù)據(jù)庫的方法是_________

      A、mysqli_query()

      B、mysqli_connect()

      C、mysqli_select_db()

      D、mysqli_num_rows()

      答案: C220、若是在某次訪問數(shù)據(jù)庫的操作中,需要用到如下四個函數(shù)

      ①mysqli_num_rows()②mysqli_select_db()、③mysqli_connet()④mysqli_query()

      則使用這四個函數(shù)的順序是___________

      A、①②③④

      B、②③①④

      C、③②④①

      D、③④①②

      答案: C221、PHP中選擇打開數(shù)據(jù)庫的方法是______

      A、mysqli_connect()

      B、mysqli_select_db()

      C、mysqli_query()

      D、mysqli_num_rows()

      答案: B222、查詢用戶名和密碼信息是否存在時,關(guān)于查詢結(jié)果記錄集$result的說法錯誤的是____

      A、該記錄集中的記錄數(shù)只能是0或者1

      B、該記錄集中的記錄數(shù)無法預知

      C、若記錄數(shù)是0,說明用戶輸入的賬號或者密碼信息有誤

      D、若記錄數(shù)是1,說明用戶輸入的賬號和密碼信息正確

      答案: B223、訪問mysql數(shù)據(jù)庫時,從查詢結(jié)果記錄集中獲取一條記錄的方法是

      A、mysql_num_rows()

      B、mysql_select_db()

      C、mysql_fetch_array()

      D、mysql_fetch_Array()

      答案: C224、函數(shù)mysql_fetch_array()的作用是

      A、獲取一個數(shù)組中的元素

      B、從查詢結(jié)果記錄集中獲取一條記錄并以對象方式存儲訪問

      C、從查詢結(jié)果記錄集中獲取一條記錄并以數(shù)組方式存儲訪問

      D、以上說法都不正確

      答案: C225、下面操作MySQL數(shù)據(jù)庫的方法中,哪個返回值可能是false

      A、mysql_fetch_array()

      B、mysql_select_db()

      C、mysql_num_rows()

      D、mysql_fetch_Array()

      答案: A226、查詢數(shù)據(jù)表時,限制獲取查詢結(jié)果中序號為6、7、8的記錄,需要使用的子句是

      A、limit 6,8

      B、limit 6,2

      C、from 6 to 8

      D、start 6 to 8

      答案: B227、MySQL數(shù)據(jù)庫操作中,Create New Schema命令的作用是

      A、創(chuàng)建數(shù)據(jù)表

      B、創(chuàng)建數(shù)據(jù)表中一個列名

      C、創(chuàng)建數(shù)據(jù)庫

      D、以上說法都不正確

      答案: C228、關(guān)于數(shù)據(jù)庫的導入操作,下列說法中錯誤的是

      A、使用的命令是Restore

      B、導入過程中可以更改原來數(shù)據(jù)庫的名稱

      C、導入過程中必須要選擇忽略錯誤選項,否則導入無法完成D、若安裝數(shù)據(jù)庫時選擇的字符集是GBK,則導入過程中,必須要選擇字符集是GBK

      答案: D229、關(guān)于PHP訪問MySQL數(shù)據(jù)庫的各種方法,下列說法中正確的是

      A、在使用mysql_connect()連接數(shù)據(jù)庫成功之后,就可以直接訪問數(shù)據(jù)表完成各種操作

      B、mysql_num_rows()的作用是獲取查詢結(jié)果記錄集中記錄的個數(shù),其參數(shù)可以省略

      C、mysql_select_db()的作用是選擇打開指定的數(shù)據(jù)庫,可以只指定一個參數(shù)

      D、mysql_query()函數(shù)只能執(zhí)行查詢語句,不能執(zhí)行插入、刪除、更新語句

      答案: C230、假設(shè)用戶在登錄時,輸入的用戶名信息保存在變量$emailaddr中,密碼保存在變量$psd中,查詢數(shù)據(jù)表usermsg中是否存在該用戶名和密碼信息,需要定義的查詢語句是

      A、select * from usermsg where emailaddr=$emailaddr or psd=$psd

      B、select * from usermsg where emailaddr=$emailaddr and psd=$psd

      C、select * from usermsg where emailaddr=$emailaddr and psd=$psd

      D、select * from usermsg where emailaddr=$emailaddr or psd=$psd

      答案: B231、查詢用戶名和密碼信息是否存在時,關(guān)于查詢結(jié)果記錄集$result的說法錯誤的是

      A、該記錄集中的記錄數(shù)只能是0或者1

      B、該記錄集中的記錄數(shù)無法預知

      C、若記錄數(shù)是0,說明用戶輸入的賬號或者密碼信息有誤

      D、若記錄數(shù)是1,說明用戶輸入的賬號和密碼信息正確

      答案: B232、要獲取記錄集$result中的記錄數(shù),需要使用代碼

      A、count($result)

      B、mysql_num_row($result)

      C、mysql_nums_rows($result)

      D、mysql_num_rows($result)

      答案: D233、MySQL中使用Select語句查詢時,要限制返回的行數(shù)可使用____子句。

      答案: limit;

      234、訪問mysql數(shù)據(jù)庫時,從查詢結(jié)果記錄集中獲取一條記錄的方法是__________

      A、mysqli_num_rows()

      B、mysqli_select_db()

      C、mysqli_fetch_array()

      D、mysqli_query()

      答案: C235、在mysql Administrator界面下,Create New Schema命令的作用是_____

      A、創(chuàng)建數(shù)據(jù)庫

      B、創(chuàng)建數(shù)據(jù)表中一個列名

      C、創(chuàng)建數(shù)據(jù)表

      D、以上說法都不正確

      答案: A236、關(guān)于數(shù)據(jù)庫的導入操作,下列說法中錯誤的是_____

      A、使用的命令是Restore

      B、導入過程中可以更改原來數(shù)據(jù)庫的名稱

      C、導入過程中必須要選擇忽略錯誤選項,否則導入無法完成D、使用的命令是Backup

      答案: D237、假設(shè)用戶在登錄時,輸入的用戶名信息保存在變量$uname中,密碼保存在變量$psd中,查詢數(shù)據(jù)表user中是否存在該用戶名和密碼信息,需要定義的查詢語句是_______

      A、select * from user where uname=$uname or psd=$psd

      B、select * from user where uname=$uname and psd=$psd

      C、select * from user where uname=$uname and psd=$psd

      D、select * from user where uname=$uname or psd=$psd

      答案: B238、要獲取記錄集$result中的記錄數(shù),需要使用代碼______

      A、count($result)

      B、mysqli_num_row($result)

      C、mysqli_nums_rows($result)

      D、mysqli_num_rows($result)

      答案: D239、MySQL數(shù)據(jù)庫的根用戶是____

      答案: root;

      240、下面的程序使用mysqli內(nèi)置函數(shù)連接數(shù)據(jù)庫,并將表lyb中的記錄顯示在網(wǎng)頁中,將1234處填寫完整

      “"

      241、下面的程序用來刪除記錄,當用戶單擊“刪除”超鏈接時,記錄將被刪除,將下面1234處的代碼補充完整

      ”“

      1.isset 2$_GET[“id”] 3.$id 4.$sql,$conn242、下面的程序是獲取到下面表單發(fā)送來的信息并按以下格式輸出

      ”“

      ”“

      將下面的服務(wù)器端的程序補充完整,在1234處填寫合適的代碼

      ”“

      $user=$_POST[“user”];

      $pwd=$_POST[“pwd”];

      $addr=$_POST[“addr”];

      echo $user.“您好,您住在”.$addr.”,您的密碼是“.$pwd;

      243、1)寫一個函數(shù),函數(shù)名為Trimtit,有兩個參數(shù)$tit,$n,函數(shù)的功能是根據(jù)指定的長度截取原始字符串。

      如果原始字符串$tit的長度大于指定長度$n,則返回從左端截取的字符串并加“…”

      如果長度未超過指定長度,則返回原始字符串。

      2)并編寫測試代碼,使用函數(shù)實現(xiàn)字符串的截取。

      答案:

      function Trimtit($tit,$n){if(strlen($tit)>$n){

      echo ”...“.substr($tit,0,$n);

      }

      else

      echo $tit;

      }

      Trimtit(”tit664848",5);

      解析:

      244、編寫一個函數(shù),輸入是5個分數(shù),輸出是去掉一個最高分和去掉一個最低分后的平均分。

      答案:

      function num($a,$b,$c,$d,$e){

      $s=array($a,$b,$c,$d,$e);

      $max=0;

      $min=$s[0];

      $abc=0;

      for($i=0;$i

      if($max<=$s[$i]){

      $max=$s[$i];

      }

      if($min>=$s[$i]){

      $min=$s[$i];

      }

      $abc+=$s[$i];

      }

      $abc=($abc-$min-$max)/5;

      echo $abc;

      }

      num(11,22,33,44,55);

      解析:

      245、使用for循環(huán),完成1+2+3+4+…+100求和過程,使用變量$sum表示結(jié)果并輸出。

      答案:

      $num=0;

      for($i=1;$i<=100;$i++){

      $num+=$i;

      }

      echo $num;

      imagecreatetruecolor

      輸出真彩色圖像

      246、下面哪一個不是函數(shù)imagettftext()的參數(shù)_______

      A、輸出字符的坐標

      B、輸出字符的角度

      C、字號

      D、加粗輸出的字符

      答案: D247、創(chuàng)建真彩色圖像,使用的函數(shù)是____

      答案:

      imagecreatetruecolor();

      248、代碼imagecolorallocate($img1,255,255,0)的作用是創(chuàng)建____色

      答案: 黃;

      249、imageline()函數(shù)能夠在畫布中畫線,需要四個參數(shù)()

      答案: 錯誤

      250、用于創(chuàng)建一幅真彩色圖像的函數(shù)是

      A、imagecreatetruecolor()

      B、imagecreate()

      C、imagecolorallocate()

      D、imagefill()

      答案: A251、用于為指定圖像分配顏色的函數(shù)是

      A、imagecreatetruecolor()

      B、imagecreate()

      C、imagecolorallocate()

      D、imagefill()

      答案: C252、下面哪一個不是函數(shù)imagettftext()的參數(shù)

      A、字號

      B、輸出字符的角度

      C、輸出字符的顏色

      D、加粗輸出的字符

      答案: D253、函數(shù)imagesetpixel()的作用是

      A、在指定位置畫一條直線

      B、在指定位置設(shè)置一個單一像素

      C、使用指定的顏色填充指定的區(qū)域

      D、新建一個基于調(diào)色板的圖像

      答案: B254、若$color表示藍色,代碼imagefill($img,0,0,$color)作用是

      A、設(shè)置畫布$img中坐標0,0的點為藍色

      B、為畫布填充藍色

      C、在畫布中畫藍色直線

      D、輸出畫布

      答案: B255、用于為畫布分配顏色的函數(shù)是_____

      A、imagefill()

      B、imagecreate()

      C、imagecolorallocate()

      D、imagecolor()

      答案: D

      第四篇:PHP開發(fā)工程師崗位職責

      1.負責PHP相關(guān)產(chǎn)品模塊開發(fā)工作。

      2.負責公司業(yè)務(wù)系統(tǒng)開發(fā)、單元測試、系統(tǒng)對接工作。

      3.負責公司已有網(wǎng)絡(luò)管理系統(tǒng)的二次開發(fā)。

      4.負責相關(guān)系統(tǒng)的設(shè)計與編碼工作。

      5.負責研發(fā)產(chǎn)品技術(shù)文稍的編寫工作。

      第五篇:PHP開發(fā)大型項目經(jīng)驗總結(jié)

      PHP開發(fā)大型項目的一點經(jīng)驗

      文章摘自我贏職場php在線教育

      一、變量

      最好是把所有的變量存儲在一個數(shù)組中,這樣在程序的開發(fā)中可以帶來很多的方便,特別是當程序很大的時候。變量的命名就當適合自己的習慣,不管是用拼音還是英語,至少應(yīng)當有一定的意義,以便適合記憶。變量的命名盡量規(guī)范化,不要與PHP中的關(guān)鍵字相沖突。

      二、函數(shù)

      PHP自帶了很多函數(shù),這給我們程序的編寫帶來了很多的方便。當然,在大型程序中我們往往自己要定義許多個函數(shù),幾十甚至上百個。當然在使用了類的程序中就不叫函數(shù)了,就應(yīng)該叫方法,這里暫且不談類的使用方法。函數(shù)多了,難免就會搞混了。有什么方法可以解決這個問題呢?可以參照上面變量的使用方法一樣,同樣的,我們也可以把自己定義的函數(shù)名全都放在一個數(shù)組中。這樣我們在使用的過程中可以直接在數(shù)組隨時檢查函數(shù)是否有無重復的定義。如果發(fā)現(xiàn)重復的現(xiàn)象,馬上變可以改過來。提高了程序編寫的速度。函數(shù)的使用還有一點要注意的是全局變量,雖然這是一個小問題,但卻不容忽視,要不然當某個變量千呼萬呼出不來的時候,呵呵。這時看看該變量是否在該函數(shù)中已經(jīng)申明成了全局變量。

      三、程序的注釋

      程序的注釋是很重要的,不管是C還是JAVA,程序的注釋往往可以體現(xiàn)出程序員的良好編程風格。無論是對于它人還是自己對大有好處,當然我們這里說的是大型項目的開發(fā),團體合作精神是很重要的。當你的程序?qū)懗鰜韯e人都很難看懂那還怎么談團體合作精神啊。當然如果這個大型項目是你一個人開發(fā)的那就另當別論了,或者是你時間緊迫,來不及寫注釋。不過一般來說這種情況是很少的。除非真的是非常時刻。一個優(yōu)秀的程序員絕對會為他寫的每個程序加注釋,哪怕是給自己看的。

      四、采用何種文本編輯軟件寫源程序

      這其實也沒一定的規(guī)定,只要自己喜歡就行了。我比較喜歡PHPEDIT,也許是用慣了,現(xiàn)在感覺一離開PHPEDIT寫PHP就沒感覺,初學PHP的時候用NOTEPAD寫,因為程序比較簡單。所以用NOTEPAD應(yīng)付下就行了,對于有幾百行的程序來講,用NOTEPAD顯然是不合適的。用PHPEDIT工作效率會提高幾倍,哪怕你從來沒用過。

      五、數(shù)據(jù)庫的設(shè)計

      數(shù)據(jù)庫的設(shè)計在開發(fā)大型項目中是很重要的一點,關(guān)系到整個項目開發(fā)的成敗。具體也就不多說了。大家可以在自己的實踐中積累經(jīng)驗,慢慢去體會??傊跀?shù)據(jù)庫的設(shè)計中最好應(yīng)該一開始就應(yīng)該確定下來。雖然可以在開發(fā)的過程中去改變已經(jīng)設(shè)計好的數(shù)據(jù)庫結(jié)構(gòu),但這對于整個項目的開發(fā)效率來講將大打折扣,有誰會愿意時不時的去改數(shù)據(jù)庫的結(jié)構(gòu)呢?

      六、類的使用

      類的使用主要是實現(xiàn)了代碼的重復使用,以降低項目開發(fā)的時間,程序員的工作量也會減少許多。只要可以使用類的地方應(yīng)當盡量使用類,使用類應(yīng)該養(yǎng)成一個良好的習慣,這樣才可以在真正使用類的地方得心應(yīng)手??梢哉f一個大型PHP項目就是由類組成的。個中的滋味還是自己慢慢體會吧。

      總之,PHP在線學習的平臺我贏職場提醒大家在開發(fā)大型PHP項目的時候,要預算好時間。特別要小心客戶在半途來個回馬槍,那就功虧一簣了。

      下載php重要知識點總結(jié)(PHP網(wǎng)絡(luò)開發(fā)必背)word格式文檔
      下載php重要知識點總結(jié)(PHP網(wǎng)絡(luò)開發(fā)必背).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        php課程總結(jié)

        一、 時間和地點: 每周四上午在F311上課。 二、 課程內(nèi)容:通過這段時間的學習,我對PHP中的MySQL數(shù)據(jù)庫有了一定的理解。由于以前沒有基礎(chǔ),在老師講課的過程開始有點費盡,盡量記了......

        PHP基礎(chǔ)總結(jié)

        1、在HTML嵌入PHP腳本有三種辦法: <scriptlanguage="php"> //嵌入方式一 echo("test"); </script> <? //嵌入方式二 echo"<br>test2"; ?> <?php //嵌入方式三 echo"<br>test3"; ?> 還......

        php學習總結(jié)

        調(diào)試/*………*/ //…….#.......... 插入時考慮清楚字段類型避免插入后出現(xiàn)缺值,亂碼 @ 屏蔽錯誤or die 條件顯示以前學習php類的總結(jié): 1.php中不能重載,但是能用子類覆蓋父類......

        PHP開發(fā)工程師-實習報告

        畢業(yè)實習報告專用紙 PHP開發(fā)工程師實習報告 一、實習目的和意義 我自大二起便對PHP Web開發(fā)產(chǎn)生了濃厚的興趣,然后便一直在進行相關(guān)的學習。由于學校沒有開設(shè)相關(guān)課程,所有的......

        PHP網(wǎng)頁開發(fā)協(xié)會“網(wǎng)絡(luò)知識交流會”活動總結(jié)(5篇)

        PHP網(wǎng)頁開發(fā)協(xié)會“網(wǎng)絡(luò)知識交流會”活動總結(jié) 一﹑活動目的 為了加深同學們對網(wǎng)絡(luò)知識方面的了解,促進PHP網(wǎng)頁開發(fā)協(xié)會會員內(nèi)部的交流以及會員的溝通,更為了能給同學們在圣誕節(jié)之......

        PHP課程總結(jié)(精選5篇)

        PHP課程總結(jié) 這個學期開設(shè)的PHP課程是由聶老師上的,老師很詳細的跟我們介紹PHP的語法,然后用實例跟我們講解,每節(jié)課老師都盡心盡責,可是無奈班上的人聽的還是寥寥無幾,真正掌握的......

        PHP程序員開發(fā)win32應(yīng)用程序之夢

        PHP程序員開發(fā)win32應(yīng)用程序之夢 相信做純WEB開發(fā)的PHP程序員都會想過,要是PHP能開發(fā)windows本地應(yīng)用程序多好,于是上網(wǎng)一查找出來的很多都是“PHP-GTK”的老文章,這東西好像已......

        PHP網(wǎng)站開發(fā)程序員筆試試題

        Linux網(wǎng)站開發(fā)筆試題(45分鐘) (linux網(wǎng)站開發(fā)程序員) 姓名 :性別 :聯(lián)系電話 :1、基礎(chǔ)編程題(使用PHP、C、C++或shell編寫) 1、請用你擅長的高級編程語言描述一下冒泡排序的算法,對象是......