關於php的一些基礎知識

2022-08-20 09:09:09 字數 3408 閱讀 7188

1.http協議中幾個狀態碼的含義:503 500 401 403 404 200 301 302.

答案:503 (服務不可用) 伺服器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態。

500 (伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。

401 (未授權) 請求要求身份驗證。 對於需要登入的網頁,伺服器可能返回此響應。

403 (禁止) 伺服器拒絕請求。

404 (未找到) 伺服器找不到請求的網頁。

200 (成功) 伺服器已成功處理了請求。 通常,這表示伺服器提供了請求的網頁。

301 (永久移動) 請求的網頁已永久移動到新位置。 伺服器返回此響應(對 get 或 head 請求的響應)時,會自動將請求者轉到新位置。

302 (臨時移動) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

2.include require include_once require_once的區別。

引用檔案的方法有兩種:require 及 include。

require 的使用方法如 require("file.php"); 。這個函式通常放在 php 程式的最前面,php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。常用的函式,亦可以這個方法將它引入網頁中。

include 使用方法如 include("file.php"); 。這個函式一般是放在流程控制的處理部分中。php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。

_once 字尾表示已載入的不載入

3.請寫出資料型別(int char varchar datetime text)的意思,請問varchar和char有什麼區別。

int:整數型別,4 位元組大小,範圍(-2 147 483 648,2 147 483 647)

char:字串型別,大小0-255位元組

varchar:字串型別,大小0-65535 位元組

datetime:表示時間值的日期和時間型別,大小8個位元組,格式:yyyy-mm-dd hh:mm:ss

text:字串型別,0-65535位元組,用於長文字資料儲存

char與varchar的區別:

char (13)長度固定, 如'www.nynds.com' 儲存需要空間 13個字元

varchar(13) 可變長 如'www.nynds.com' 需要儲存空間 14字元

從上面可以看得出來char 長度是固定的,不管你儲存的資料是多少他都會都固定的長度。

而varchar則處可變長度但他要在總長度上加1字元,這個用來儲存位置。所以實際應用中使用者可以根據自己的資料型別來做。

由於某種原因char 固定長度,所以在處理速度上要比varchar快速很多.

4.mysql的儲存引擎myisam和innodb的區別。

innodb和myisam是許多人在使用mysql時最常用的兩個表型別,這兩個表型別各有優劣,視具體應用而定。基本的差別為:myisam型別不支援事務處理等高階處理,而innodb型別支援。myisam型別的表強調的是效能,其執行數度比innodb型別更快,但是不提供事務支援,而innodb提供事務支援以及外部鍵等高階資料庫功能。

5.用php列印出前一天的時間格式是2006-5-10 22:21:21

echo date("y-m-d h:i:s",time()-3600*24);

6.echo(),print(),print_r()的區別

echo是php語句, print和print_r是函式,語句沒有返回值,函式可以有返回值(即便沒有用)

print只能列印出簡單型別變數的值(如int,string)

print_r可以列印出複雜型別變數的值(如陣列,物件)

7.如何實現字串翻轉

(1)英文本串反轉

$str = 'abc,def.'; // 時刻記住推薦使用單引號'',效率高

$newstr = strrev($str);

echo '原字串是:'.$str; // 'abc,def.'

echo ' 翻轉後的字串是:'.$newstr; // '.fed,cba'

echo '

';// 但是當有中文存在的時候,則出現了亂碼

$str = 'a這b是c子,符d串ef.';

$newstr = strrev($str);

echo '原字串是:'.$str; // 'a這b是c子,符d串ef.'

echo ' 翻轉後的字串是:'.$newstr; // 輸出一串亂碼

echo '

';(2).中英文本串反轉

echo "";

function mystrrev($str,$encoding='utf-8'){

$newstr = '';

$len = mb_strlen($str);

for($i=$len-1; $i>=0; $i--){

$newstr .= mb_substr($str,$i,1,$encoding);

return $newstr;

$string = '相信women是正確的。';

echo $string;

echo '

';echo mystrrev($string); // '的。的確正是nemow信相'

8.實現中文字串擷取無亂碼的方法

//$start:指定開始擷取字串的位置;$length指定擷取字元的長度

function substr2($string, $start, $length)

$len = strlen($string);

if($len > $length)

$str = '';

$len1 = $start + $length; //擷取到原字串的位置

for($i=$start; $i

if(ord(substr($string, $i, 2)) > 0xa0) //在ascii中,0xa0表示漢字的開始

$str.=substr($string, $i, 2);

$i++;

else

$str.=substr($string, $i, 1);

return $str.'...';

else

return $string;

9.如何用php的環境變數得到乙個網頁位址的內容?ip位址又要怎樣得到?

"http://".$_server ['http_host'].$_server['php_self'] ;// 獲取網頁位址

$_server['remote_addr'] //獲取ip位址

10.求兩個日期的差數,例如2017-2-5~2017-3-6的日期差數

$day=(strtotime('2017-2-5')-strtotime('2017-3-6'))/8600;

php一些基礎知識(很亂)

1.命名空間 宣告命名空間的 應該放在 子命名空間使用 分割 同一空間的所有類沒必要寫在同乙個php檔案裡 廠商命名空間是最重要的命名空間,是最頂層的命名空間,用於識別品牌或組織,具有全域性唯一性 2.全域性命名空間 有些 沒有命名空間,而是在全域性命名空間中,使用時要在類 函式 介面 常量前加上 ...

關於一些基礎知識的總結

1.關於輸入的一些用法 cin,cin.get,cin.getline cin很簡單,在使用的時候最多,可以輸入字元,數字,字串,但是碰到空格,回車,tab就停止了。因此對於想在陣列中使用空格回車的,cin很不方便。cin.get 可以返回乙個資料。例如 這樣可以a得到乙個資料,即使輸入大於1個在顯...

關於DNS的一些基礎知識

1 dns就是網域名稱伺服器,他的任務就是確定網域名稱的解析,比如a記錄mx記錄等等。2 任何網域名稱都至少有乙個dns,一般是2個。為什麼要2個以上呢?因為dns可以輪迴處理,第乙個解析失敗可以找第二個。這樣只要有乙個dns解析正常,就不會影響網域名稱的正常使用。3 如何確定網域名稱的dns?很簡...