您好,登錄后才能下訂單哦!
這篇文章主要介紹PHP有哪些面試題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
echo()、print() 是 PHP 語句;print_r() 是函數,
print()只能打印出簡單類型變量的值(如int,string),有返回值。
print_r()可以打印出復雜類型變量的值(如數組,對象)
echo 輸出一個或者多個字符串,無返回值
單引號不能解釋變量,而雙引號可以解釋變量。
單引號不能轉義字符,在雙引號中可以轉義字符。
error_reporting() 設置 PHP 的報錯級別并返回當前級別。
session 存儲在服務器端,cookie 保存在客戶端。
session比較安全,cookie 用某些手段可以修改,不安全。
session 的運行依賴 sesseion id,而 session id 存在 cookie 中。如果禁用 cookie,session 會失效。(但可以通過其他方式實現,比如在 url 中傳遞 session id)。
session 可以放在 文件、數據庫或內存中。默認存儲在服務器的一個文件中。
get是顯式的,數據從url中可以看到,傳輸的數據量小,安全性低;
post是隱式的,傳送的數據量較大,安全性較高 。
<?php $a = 12; $b = 012; $c = 0x12; echo $a,"\n",$b,"\n",$c;
解析:八進制12轉為二進制001010,二進制再轉為十進制為10。十六進制12轉為二進制00010010,二進制再轉為十進制18。所以結果為 12 10 18。
使用 urlencode()
對中文進行編碼。
iconv('GB2312','UTF-8','悄悄是別離的笙簫');
$str = "hello word;From-ajiang";str_split($str, 3); explode(";", $str);preg_split("/-/", $str);
$str = 'linux and php'; str_replace('linux', 'windows', $str); preg_replace('/linux|php/', 'js', $str);
preg_match("/php/i", "PHP is the web scripting language of choice."); $userinfo = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>"; preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array); strpos("I love php, I love php too!","php"); // 首次匹配的位置 strrpos("I love php, I love php too!","php"); // 最后匹配的位置
速度快:因為數據存在內存中,類似于HashMap,HashMap的優勢就是查找和操作的時間復雜度都是O(1)。
支持豐富數據類型:支持string,list,set,sorted set,hash。
支持事務:可以一次執行多個命令。失敗不會回滾,會繼續執行。
豐富的特性:可用于緩存,消息,按key設置過期時間,過期后將會自動刪除
memcached所有的值均是簡單的字符串,redis作為其替代者,支持更為豐富的數據類型。
redis 的速度比 memcached 快很多 。
redis 可以持久化其數據
首先進入php安裝目錄,-f 參數指定要執行的 php 文件,參數直接接在文件名后面,多個參數用空格隔開。-r 表示直接執行 php 代碼 。
如果傳遞參數,腳本首先會檢查 $argc,以確保自變量的數量符合要求。然后會從 $argv 里提取出每一個自變量,把它們打印輸出到標準的輸出。
$ php -f d:/wamp/test.php [參數1 參數2 ...] $ php -r phpinfo();
分 時 日 月 周 執行的程序
案例: 一個備份程序mybackup
,需要在周一到周五下午1點和晚上8點運行,命令如下:
0 13,20 * * 1,2,3,4,5 mybackup // 或 0 13,20 * * 1-5 mybackup
瀏覽器從地址欄的輸入中獲得服務器的 IP 地址和端口號;
瀏覽器用 TCP 的三次握手與服務器建立連接;
瀏覽器向服務器發送拼好的報文;
服務器收到報文后處理請求,同樣拼好報文再發給瀏覽器;
瀏覽器解析報文,渲染輸出頁面。
array_combine()-----通過合并兩個數組來創建一個新數組 array_chunk()-------將一個數組分割成多個 array_merge()-------把兩個或多個數組合并成一個數組 array_slice()-------在數組中根據條件取出一段值 array_diff()--------返回兩個數組的差集數組 array_intersect()---計算數組的交集 array_search()------在數組中搜索給定的值 array_splice()------移除數組的一部分且替代它 array_key_exists()--判斷某個數組中是否存在指定的key array_flip()--------交換數組中的鍵和值 array_reverse()-----將原數組中的元素順序翻轉,創建新的數組并返回 array_unique()------移除數組中重復的值 range()-------------創建并返回一個包含指定范圍的元素的數組
sort() - 以升序對數組排序 rsort() - 以降序對數組排序 asort() - 根據值,以升序對關聯數組進行排序 ksort() - 根據鍵,以升序對關聯數組進行排序 arsort() - 根據值,以降序對關聯數組進行排序 krsort() - 根據鍵,以降序對關聯數組進行排序
// http://www.test.com/testA/test?name=aj&age=23 "HTTP_HOST" => "www.test.com" "SERVER_NAME" => "www.test.com" "SERVER_PORT" => "80" // 服務器端口 "SERVER_ADDR" => "127.0.0.1" // 服務器IP "REMOTE_PORT" => "13675" // 客戶端IP "REMOTE_ADDR" => "127.0.0.1" // 客戶端口 "REQUEST_URI" => "/testA/test?name=aj&age=23" // 參數 "SCRIPT_NAME" => "/index.php" "QUERY_STRING" => "s=//testA/test&name=aj&age=23" "SCRIPT_FILENAME" => "F:/projectName/public/index.php" // 當前執行腳本路徑
__construct(),類的構造函數 __destruct(),類的析構函數 __call(),在對象中調用一個不可訪問方法時調用 __callStatic(),用靜態方式中調用一個不可訪問方法時調用 __get(),獲得一個不存在的類成員變量時調用 __set(),設置一個不存在的類成員變量時調用 __isset(),當對不可訪問屬性調用isset()或empty()時調用 __unset(),當對不可訪問屬性調用unset()時被調用。 __sleep(),執行serialize()時,先會調用這個函數 __wakeup(),執行unserialize()時,先會調用這個函數 __toString(),類被當成字符串時的回應方法 __invoke(),調用函數的方式調用一個對象時的回應方法 __set_state(),調用var_export()導出類時,此靜態方法會被調用。 __clone(),當對象復制完成時調用 __autoload(),嘗試加載未定義的類 __debugInfo(),打印所需調試信息
四種標量類型:boolean (布爾型)、integer (整型)、float (浮點型, 也稱作 double)、string (字符串)
兩種復合類型:array (數組)、object (對象)
兩種特殊類型:resource(資源)、NULL(NULL)
以上是“PHP有哪些面試題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。