關於php的一些基礎知識

來源:互聯網
上載者:User

標籤:strlen   單引號   字元   方式   拒絕   位元組   效率   截取   儲存空間   

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 ‘<br />‘;

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

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

$newstr = strrev($str);

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

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

echo ‘<br />‘;

(2).中英文字串反轉

echo "<meta charset = ‘utf-8‘>";

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 ‘<br />‘;

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<$len1; $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的一些基礎知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.