PHP基礎知識梳理詳解

來源:互聯網
上載者:User
本文主要和大家分享PHP基礎知識梳理詳解,希望能協助到大家。

雙引號解釋變數,單引號不解釋變數

雙引號裡插入單引號,其中單引號裡如果有變數的話,變數解釋
雙引號的變數名後面必須要有一個非數字、字母、底線的特殊字元,或者用{}講變數括起來,否則會將變數名後面的部分當做一個整體,引起語法錯誤
能使單引號字元盡量使用單引號,單引號的效率比雙引號要高

GET和POST提交方式的區別

GET產生一個TCP資料包;POST產生兩個TCP資料包;
對於GET方式的請求,瀏覽器會把http header和data一併發送出去,伺服器響應200(返回資料)
對於POST,瀏覽器先發送header,伺服器響應100 continue,瀏覽器再發送data,伺服器響應200 ok(返回資料)。
GET在瀏覽器回退時是無害的,而POST會再次提交請求
GET請求會被瀏覽器主動cache,而POST不會,除非手動設定
GET請求參數會被完整保留在瀏覽器記錄裡,而POST中的參數不會被保留
GET請求只能進行url編碼,而POST支援多種編碼方式
GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感資訊

如何擷取用戶端的真實ip

$_SERVER['REMOTE_ADDR']或getenv('REMOTE_ADDR')
可以使用ip2long()轉成數字

include和require的區別

require是無條件包含,也就是如果一個流程裡加入require,無論條件成立與否都會先執行require,當檔案不存在或者無法開啟的時候,會提示錯誤,並且會終止程式執行
include有傳回值,而require沒有(可能因為如此require的速度比include快),如果被包含的檔案不存在的化,那麼會提示一個錯誤,但是程式會繼續執行下去
注意:包含檔案不存在或者語法錯誤的時候require是致命的,而include不是

AJAX的優勢是什麼

ajax是非同步傳輸技術,可以通過javascript實現,也可以通過JQuery架構實現,實現局部重新整理,減輕了伺服器的壓力,也提高了使用者體驗

在程式的開發中,如何提高程式的運行效率

最佳化SQL語句,查詢語句中盡量不使用select *,用哪個欄位查哪個欄位;
少用子查詢可用表串連代替;
少用模糊查詢;
資料表中建立索引;
對程式中經常用到的資料產生緩衝;

SESSION與COOKIE的區別

儲存位置:session儲存在伺服器,cookie儲存在瀏覽器
安全性:session安全性高於cookie
參考連結:https://www.zhihu.com/questio...

isset和empty的區別

isset()函數 一般用來檢測變數是否設定
若變數不存在則返回 FALSE
若變數存在且其值為NULL,也返回 FALSE
若變數存在且值不為NULL,則返回 TURE
empty()函數是檢查變數是否為空白
若變數不存在則返回 TRUE
若變數存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE
若變數存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE

資料庫三範式

第一範式:1NF是對屬性的原子性約束,要求屬性具有原子性,不可再分解;
第二範式:2NF是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性;
第三範式:3NF是對欄位冗餘性的約束,即任何欄位不能由其他欄位派生出來,它要求欄位沒有冗餘。

主鍵、外鍵和索引的區別

定義:
主鍵--唯一標識一條記錄,不能有重複的,不允許為空白
外鍵--表的外鍵是另一表的主鍵, 外鍵可以有重複的, 可以是空值
索引--該欄位沒有重複值,但可以有一個空值斜體文字
作用:
主鍵--用來保證資料完整性
外鍵--用來和其他表建立聯絡用的
索引--是提高查詢排序的速度
個數:
主鍵--主鍵只能有一個
外鍵--一個表可以有多個外鍵
索引--一個表可以有多個唯一索引

堆和棧的區別

棧是編譯期間就分配好的記憶體空間,因此你的代碼中必須就棧的大小有明確的定義;
堆是程式運行期間動態分配的記憶體空間,你可以根據程式的運行情況確定要分配的堆記憶體的大小。

相關推薦:

PHP基礎面試題整理

PHP基礎函數執行個體詳解

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.