PHP基礎知識

【學習資料】
視頻: https://www.bilibili.com/video/BV1Xh411S7G1?spm_id_from=333.788.videopod.episodes&vd_source=be26b82da70367069ab00d6db4f4ffc0
文檔:https://www.runoob.com/php/php-tutorial.html

目錄

  • 1,PHP是什么
  • 2,PHP能做什么
  • 3,PHP程序執行流程
  • 4,學習PHP需要什么基礎
  • 5,PHP基礎語法
    • 一,php程序
      • 1,php標記
      • 2,php代碼
      • 3,php注釋
    • 二,php變量
      • 1,聲明變量
      • 2,變量命名規則
    • 三,php標量數據類型
      • 字符串
    • 四,php復合數據類型
    • 五,php特殊數據類型
    • 六,數組
      • php數組循環
    • 七,PHP條件判斷
    • 八,PHP函數
      • 1,什么是函數?
      • 2,函數的分類
      • 3,String字符串函數
      • 4,Array數組函數
      • 5,自定義函數
      • 6,作用域
    • 九,PHP運算符
    • 十,循環
  • 6,PDO操作數據庫
  • 7,類與對象
    • 類的三大特性
  • 8,命名空間
    • 創建命名空間

1,PHP是什么

PHP(Hypertext Preprocessor 超文本預處理器) 的簡稱,是一種被廣泛應用的開源通用的服務器端腳本語言,適用于 Web 開發并可嵌入 HTML 中。

  • 通用:指跨平臺,如:Windows、Linux、MacOS
  • 開源:意味著你可以輕松獲取全部源代碼,并進行定制或擴展
  • 免費:意味著你不必為PHP花一分錢,哪怕用在商業項目中
  • 服務器端:意味著你必須將它安裝在服務器環境下才可以使用
  • 腳本語言:解釋型語言,按編寫順序執行。是指不需要編譯,直接由解釋器/虛擬機執行的編程語言

2,PHP能做什么

  • 可以快速動態的生成HTML頁面
  • 可以返回前端需要的各種類型的數據
  • 可以高效安全的處理表單數據
  • 可以安全的操作服務器上的文件
  • 可以控制與客戶端的會話( Cookie/Session )
  • 可以對用戶的行為進行授權控制
  • 可以高效安全的操作各種類型的數據庫
  • 通過擴展,可以實現加密,壓縮等其他功能
  • 可以提供接口數據,包括:小程序、APP、等其他語言

3,PHP程序執行流程

在這里插入圖片描述

4,學習PHP需要什么基礎

  • HTML:超文本標記語言
  • CSS:層疊樣式標本
  • JavaScript:前端腳本編程語言

5,PHP基礎語法

php文件默認擴展名是 .php;
php文件中可以包含html,css,JavaScript代碼;

一,php程序

1,php標記

  • 開始標記<?php和結束標記?>中間寫PHP代碼;
  • 如果沒有寫結束標記,那么代表所有的代碼都用php來解析;
<?php?>

2,php代碼

指令描述
echo可以輸出一個或多個字符串,用逗號(,)隔開
print只允許輸出一個字符串
<?phpecho 111,222;print 111;
?>
; // 語句結束符

3,php注釋

<?php// 這是單行注釋/*這是多行注釋注釋后,在瀏覽器和網頁源碼中,是看不到的。*/
?>

二,php變量

1,聲明變量

<?php$a = 'php中文網原創視頻:《天龍八部》公益php培訓系列課程匯總!';echo $a;
?>

2,變量命名規則

  • 開頭不能用數字;
  • 中間不能有空格;
<?php// 下劃線命名法$new_title = 'php中文網原創視頻:《天龍八部》公益php培訓系列課程匯總!';echo $new_title;echo '<hr>';// 小駝峰命名法$newTitle  = 'php中文網《玉女心經》公益PHP WEB培訓系列課程匯總';echo $newTitle;echo '<hr>';// 大駝峰命名法$NewTitle  = 'html5中submit是按鈕么';echo $NewTitle;
?>

三,php標量數據類型

在這里插入圖片描述

echo 輸出數據值,開發時使用;
var_dump 可以打印數據類型和值,測試時使用;<?php$x = true;var_dump($x); // 類型 值 =》 bool(true)echo '<hr>';$y = false;var_dump($y); // 類型 值 =》 bool(false)
?>

字符串

  • 引號內的數據;
  • 可以是單引號或雙引號;
  • 字符串不用引號會報錯;
  • 數字,浮點數,布爾型,用引號也屬于字符串;

雙引號與單引號的區別?

  • 雙引號可以解析變量,單引號不行;
<?php$name = "歐陽";echo "我的名字:$name"; // 我的名字:歐陽echo '我的名字:$name'; // 我的名字:$name
?>

四,php復合數據類型

在這里插入圖片描述

五,php特殊數據類型

在這里插入圖片描述

六,數組

數組Array:數組可以在一個變量中存儲多個值;

1,創建數組
<?php// 第一種方式$arr = array();var_dump( $arr ); //array(0) { }// 第二種方式$arrs = [];var_dump( $arrs ); //array(0) { }
?>2,創建索引數組
<?php$arr = array('歐陽','西門','滅絕'
);
var_dump( $arr ); // array(3) { [0]=> string(6) "歐陽" [1]=> string(6) "西門" [2]=> string(6) "滅絕" }
?>3,創建關聯數組
<?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
var_dump( $arr ); // array(3) { ["ouyang"]=> string(6) "歐陽" ["ximen"]=> string(6) "西門" ["miejue"]=> string(6) "滅絕" }
?><?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
var_dump( $arr['miejue'] ); // string(6) "滅絕"
?>

print_r()打印數組

print_r() VS var_dump()<?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
var_dump( $arr); // array(3) { ["ouyang"]=> string(6) "歐陽" ["ximen"]=> string(6) "西門" ["miejue"]=> string(6) "滅絕" }
echo "<hr>";
print_r($arr);// Array ( [ouyang] => 歐陽 [ximen] => 西門 [miejue] => 滅絕 )
?>

php 連接符 .

<?php$arr = ['ouyang' => '歐陽','ximen' => '西門','miejue' => '滅絕'
];
echo "我的名字是" . $arr['ouyang'] . ",他的名字是" . $arr['ximen']; // 我的名字是歐陽,他的名字是西門
?> 

php數組循環

<?php$arr = array("ouyang" => "歐陽","ximen" => "西門","miejue" => "滅絕");//    第一種方法foreach($arr as $v) {echo $v;echo '<hr>';}//    第二種方法foreach($arr as $k => $v) {echo $k . '----' . $v;echo '<hr>';}

在這里插入圖片描述

七,PHP條件判斷

  // 三元運算符<?php$ouyang = '123';echo $ouyang ? '我知道了' : '我不知道';  // 我知道了// if …… else<?php$miejue = "西門";$ouyang = '';if($ouyang) {echo "我是歐陽";}elseif($miejue) {echo "我是西門";}// switch語句$str = '歐陽11';switch($str) {case '歐陽':echo "我是歐陽";break;case "西門":echo "我是西門";break;case "滅絕":echo "我是滅絕";break;default:echo $str;}// match 語句$str = 'ximeng';echo match($str) { // 西門"ouyang" => "歐陽克","ximeng" => "西門","miejue" => "滅絕",};- Match是一個表達式,表示其結果可以存儲在變量中或返回;- Match分支僅支持單行表達式,不需要中斷,陳述;- Match匹配進行嚴格的比較;

八,PHP函數

1,什么是函數?

  • 函數是一段可以重復執行的代碼片斷;
  • 函數是實現代碼復用的重要手段;
  • 函數是現代編程語言最重要的基本單元;
  • 函數永遠是編程的核心工作;

2,函數的分類

  • 系統函數:編程語言開發者事先寫好提供給開發者直接使用的;
  • 自定義函數:用戶根據自身需求,對系統功能進行擴展;

3,String字符串函數

在這里插入圖片描述

4,Array數組函數

在這里插入圖片描述

5,自定義函數

<?phpfunction fun_name($num1,$num2=20,$num3=30) {return $num1 + $num2 + $num3;};echo fun_name(10); // 60// 函數的基本語法:- 必須使用關鍵字 function聲明;- 函數名稱不區分大小寫,多個單詞推薦使用下劃線連接;

6,作用域

- php中,只有函數作用域和全局作用域;
- 所有函數作用域中的變量,外部不可見;
- 全局作用域聲明變量,在函數中是可見的;

九,PHP運算符

在這里插入圖片描述

十,循環

<?php$int = 1;// while循環while($int < 10) {echo $int;$int++;}// do……while循環do {echo $int;$int++;}while($int < 10);// for 循環for($int=1; $int<10; $int++) {echo $int;}

continue

  • 結束當前循環,進入下次循環
  • 在循環語句中使用 while,for

break

  • 結束循環
  • 在循環語句中使用 while,for,switch
  • 可以跳出多層循環

6,PDO操作數據庫

  • PDO:php數據對象
  • PDO統一了PHP訪問各種類型數據庫的訪問方式;

7,類與對象

<?php// 創建類class Teacher {// 成員變量:類屬性public $name = '滅絕師太';// 成員方法public function fun1() {return '姓名:' . $this->name . ' ,你好';}}// 調用類$ouyang = new Teacher(); echo $ouyang->name;  // 滅絕師太echo '<hr>';echo $ouyang->fun1(); // 姓名:滅絕師太 ,你好
<?php// 創建類class Teacher {// 成員變量:類屬性public $name = '滅絕師太';public $school = "PHP中文網";// __construct 構造方法public function __construct($name,$school){$this->name = $name;$this->school = $school;}// 成員方法public function fun1() {return '姓名:' . $this->name . ' ,你好';}// __destruct 析構方法public function __destruct(){echo '<hr> 類執行完畢,要關閉了';}}// 調用類$ouyang = new Teacher("西門大官人",'php'); echo $ouyang->name; // 西門大官人echo '<hr>';echo $ouyang->fun1(); //姓名:西門大官人 ,你好

類的三大特性

  • 繼承:可以讓某個類型的對象獲得另一個類型的對象的屬性和方法;
  • 封裝:指將客觀事物抽象成類,每個類對自身的數據和方法實行保護;
  • public 默認的,關鍵詞定義類內,類外,子類都可見;
  • protected 關鍵詞定義類內,子類可見,類外不可見;
  • private 關鍵詞定義類內可見,子類,類外不可見;
  • 多態:指同一個實體同時具有多種形式,它主要體現在類的繼承體系中;

8,命名空間

解決全局成員的命名沖突問題;

創建命名空間

<?php// 第一種// namespace one {//     function php() {};// }// namespace two {//     function php() {};// }// 第二種namespace three;function php(){};namespace four;function php() {};
<?phpnamespace one;const name = "西門";function php(){echo "我是" . name;};// 調用 one命名空間的php方法php(); // 我是西門namespace tow;const name = "歐陽";function php() {echo "我是" . name;};php(); // 我是歐陽namespace one\two\three;const name = "滅絕";function php() {echo "我是" . name;}php(); // 我是滅絕

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80949.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80949.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80949.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

國內MCP服務平臺推薦 AIbase推出MCP服務器客戶端商店

在當今數字化時代&#xff0c;人工智能&#xff08;AI&#xff09;技術正以前所未有的速度發展&#xff0c;不斷改變著我們的生活和工作方式。2025年&#xff0c;AI領域迎來了一項重要的技術進展——MCP(Model Context Protocol&#xff0c;模型上下文協議)的廣泛應用。這一技術…

在文件檢索方面doris和elasticsearch的區別

apache Doris 與 Elasticsearch 在文件檢索領域的差異源于技術架構與定位目標的本質區別,以下從核心維度對比分析二者的技術特性: 一、 ?架構設計與定位差異? ?維度??Apache Doris??Elasticsearch??核心架構?分布式 MPP 列式分析引擎,面向 OLAP 優化分布式倒排索…

鴻蒙OSUniApp打造多功能圖表展示組件 #三方框架 #Uniapp

使用UniApp打造多功能圖表展示組件 在當前移動應用開發領域&#xff0c;數據可視化已成為不可或缺的一部分。無論是展示銷售數據、用戶增長趨勢還是其他業務指標&#xff0c;一個優秀的圖表組件都能有效提升用戶體驗。UniApp作為一款跨平臺開發框架&#xff0c;如何在其中實現…

AI Agent開發第67課-徹底消除RAG知識庫幻覺-文檔分塊全技巧(1)

開篇 在上篇《AI Agent開發第66課-徹底消除RAG知識庫幻覺-帶推理的RAG》放出后,網友們反響很大。有得告訴我:原來還有Rewrite這么一招?早知道這一招很多之前的一些遺留問題都能解決了。不過在上一篇結尾我已經提到了,要真正解決一個AI Agent在響應時產生的幻覺我們用提示語…

NHANES指標推薦:OBS

文章題目&#xff1a;Association between oxidative balance score and all-cause and cancer-specific mortality among cancer survivors DOI&#xff1a;10.3389/fimmu.2025.1541675 中文標題&#xff1a;癌癥幸存者氧化平衡評分與全因死亡率和癌癥特異性死亡率之間的關聯 …

主流快遞查詢API橫向對比:快遞100快遞鳥菜鳥物流接口差異解析

主流快遞查詢API橫向對比&#xff1a;快遞100/快遞鳥/菜鳥物流接口差異解析 一、核心功能與適用范圍 菜鳥API 核心功能&#xff1a;物流信息查詢、電子面單打印、智能倉儲管理、跨境物流服務&#xff0c;整合阿里生態資源&#xff08;如淘寶、天貓訂單直接對接&#xff09;。…

解決:npm install報錯,reason: certificate has expired

目錄 1. 問題分析2. 問題解決2.1 查看配置的鏡像2.2 修改鏡像源 種一棵樹最好的時間是10年前&#xff0c;其次就是現在&#xff0c;加油&#xff01; --by蠟筆小柯南 1. 問題分析 啟動前…

緩存(5):常見 緩存數據淘汰算法/緩存清空策略

主要的三種緩存數據淘汰算法 FIFO(first in first out)&#xff1a;先進先出策略&#xff0c;最先進入緩存的數據在緩存空間不夠的情況下&#xff08;超出最大元素限制&#xff09;會被優先被清除掉&#xff0c;以騰出新的空間接受新的數據。策略算法主要比較緩存元素的創建時…

Spring框架的事務管理

引言 在企業級應用開發中&#xff0c;事務管理是一個至關重要的環節&#xff0c;它確保了數據的一致性和完整性。Spring 框架為我們提供了強大而靈活的事務管理功能&#xff0c;能夠幫助開發者更輕松地處理復雜的事務場景。本文將深入探討 Spring 框架的事務管理&#xff0c;包…

FPGA: UltraScale+ bitslip實現(ISERDESE3)

收獲 一晃五年~ 五年前那個夏夜&#xff0c;我對著泛藍的屏幕敲下《給十年后的自己》&#xff0c;在2020年的疫情迷霧中編織著對未來的想象。此刻回望&#xff0c;第四屆集創賽的參賽編號仍清晰如昨&#xff0c;而那個在家熬夜焊電路板的"不眠者"&#xff0c;現在…

用 wireshark 解密 SIP over TLS 以及 SRTP 解密

--todo 有空再搞 MicroSIP 向 FreeSWITCH 注冊&#xff0c;transport 設置為 tls 同時 Media Encryption 設置為強制 FreeSWITCH 做一個這樣的路由&#xff1a; <action application"set" data"rtp_secure_mediaoptional"/> <action applicat…

Delphi 12.3調用Chrome/edge內核實現DEMO源碼

DELPHI使用調用Chrome/Edge內核瀏覽器&#xff0c;雖然舊的WebBrowser也還可以用&#xff0c;但大勢所趨&#xff0c;新版的已經不需要使用第三方的組件了&#xff0c;算是全內置的開發了&#xff0c;不廢話 Unit1 源碼 Form 源碼 unit Unit1;interfaceusesWinapi.Windows, W…

快速搭建一個electron-vite項目

1. 初始化項目 在命令行中運行以下命令 npm create quick-start/electronlatest也可以通過附加命令行選項直接指定項目名稱和你想要使用的模版。例如&#xff0c;要構建一個 Electron Vue 項目&#xff0c;運行: # npm 7&#xff0c;需要添加額外的 --&#xff1a; npm cre…

26考研 | 王道 | 計算機組成原理 | 一、計算機系統概述

26考研 | 王道 | 計算機組成原理 | 一、計算機系統概述 文章目錄 26考研 | 王道 | 計算機組成原理 | 一、計算機系統概述1.1 計算機的發展1.2 計算機硬件和軟件1.2.1 計算機硬件的基本組成1.2.2 各個硬件的工作原理1.2.3 計算機軟件1.2.4 計算機系統的層次結構1.2.5 計算機系統…

01-數據結構概述和時間空間復雜度

數據結構概述和時間空間復雜度 1. 什么是數據結構 數據結構&#xff08;Data Structure&#xff09;是計算機存儲、組織數據的方式&#xff0c;指相互之間存在一種或多種特定關系的數據元素的集合。 2. 什么是算法 算法&#xff08;Algorithm&#xff09;就是定義良好的計算…

大數據架構選型全景指南:核心架構對比與實戰案例 解析

目錄 大數據架構選型全景指南&#xff1a;核心架構對比與實戰案例解析1. 主流架構全景概覽1.1 核心架構類型1.2 關鍵選型維度 2. 架構對比與選型矩陣2.1 主流架構對比表2.2 選型決策樹 3. 案例分析與實現案例1&#xff1a;電商實時推薦系統&#xff08;Lambda架構&#xff09;案…

(51單片機)LCD顯示紅外遙控相關數字(Delay延時函數)(LCD1602教程)(Int0和Timer0外部中斷教程)(IR紅外遙控模塊教程)

前言&#xff1a; 本次Timer0模塊改裝了一下&#xff0c;注意&#xff01;&#xff01;&#xff01;今天只是簡單的實現一下&#xff0c;明天用次功能顯示遙控密碼鎖 演示視頻&#xff1a; 在審核 源代碼&#xff1a; 如上圖將9個文放在Keli5 中即可&#xff0c;然后燒錄在…

網絡實驗-防火墻雙機熱備份

實驗目的 了解防火墻雙機熱備份配置&#xff0c;提供部署防火墻可靠性。 網絡拓撲 左側為trust域&#xff0c;右側為untrust域。防火墻之間配置雙機熱備份。 配置內容 master VRRP 由于防火墻是基于會話表匹配回程流量&#xff0c;流量去向和回程必須通過同一個防火墻。…

【2025最新】VSCode Cline插件配置教程:免費使用Claude 3.7提升編程效率

 ?2025年最新VSCode Cline插件安裝配置教程&#xff0c;詳解多種免費使用Claude 3.7的方法&#xff0c;集成DeepSeek-R1與5大實用功能&#xff0c;專業編程效率提升指南。 Cline是VSCode中功能最強大的AI編程助手插件之一&#xff0c;它能與Claude、OpenAI等多種大模型無縫集…

考研英一真題學習筆記 2018年

2018 年全國碩士研究生招生考試 英語 &#xff08;科目代碼&#xff1a;201&#xff09; Section Ⅰ Use of English Directions: Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Trust i…