本篇文章給大家分享PHP面試題之問答題最新匯總,有一定的參考價值,需要的朋友可以參考一下,希望對大家有所幫助。
相關推薦:《PHP面試題之應用題最新總結》《PHP面試題之概念題最新總結》
echo()、print() 是PHP 語句;print_r() 是函數,
#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(),打印所需调试信息
本文章首发在 LearnKu.com 网站上。
以上是PHP面試題之問答題最新總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!