PHP學習 黑馬視頻 28天PHP零基礎入門到精通教程(P1基礎6天) 筆記2

筆記相關信息:php

標題 28天PHP零基礎入門到精通教程(P1基礎6天)
視頻地址 https://www.bilibili.com/video/BV18x411H7qD?p=14
章節 -P28
標籤 PHP語法 變量 數據類型
其餘 F:\HTML_前端\PHP\B站黑馬BV18x411H7qD\Day02 語法&變量&數據類型.docx

PHP語句分隔符

最後一行PHP代碼能夠沒有語句結束符「;」前端


# 變量

PHP是一種動態網站開發的腳本語言,動態語言特色是交互性會有數據的傳遞,而PHP做爲「中間人」,須要進行數據的傳遞,傳遞的前提就是PHP能本身存儲數據(臨時存儲)數據庫

變量基本概念

變量來源於數學,是計算機語言中能儲存計算結果或能表示值抽象概念。變量能夠經過變量名訪問。在指令式語言中,變量一般是可變的。數組

一、 變量是用來存儲數據的;服務器

二、 變量是存在名字的;cookie

三、 變量是經過名字來訪問的:數據;session

四、 變量是能夠改變的:數據。ide

變量的使用

PHP中的全部變量都必須使用「$」符號函數

一、 定義:在系統中增長對應的變量名字(內存)網站

二、 賦值:能夠將數據賦值給變量名(能夠在定義的同時完成)

三、 能夠經過變量名訪問存儲的數據

四、 能夠將變量從內存中刪除

變量命名規則

一、 在PHP中變量名字必須以「$」符號開始;

二、 名字由字母、數字和下劃線「_」構成,可是不能以數字開頭;

三、 在PHP中自己還容許中文變量(不建議)。

預約義變量

預約義變量:提早定義的變量,系統定義的變量,存儲許多須要用到的數據(預約義變量都是數組)

$_GET:獲取全部表單以get方式提交的數據

$_POST:POST提交的數據都會保存在此

$_REQUEST:GET和POST提交的都會保存

$GLOBALS:PHP中全部的全局變量

$_SERVER:服務器信息

$_SESSION:session會話數據

$_COOKIE:cookie會話數據

$_ENV:環境信息

$_FILES:用戶上傳的文件信息

可變變量

可變變量:若是一個變量保存的值恰好是另一個變量的名字,那麼能夠直接經過訪問一個變量獲得另一個變量的值:在變量前面再多加一個$符號。

$a = ‘b’;

$b = ‘bb’;

變量傳值

將一個變量賦值給另一個變量:變量傳值

變量傳值一共有兩種方式:值傳遞,引用傳遞

值傳遞:將變量保存的值賦值一份,而後將新的值給另一個變量保存(兩個變量沒有關係)

引用傳遞:將變量保存的值所在的內存地址,傳遞給另一個變量:兩個變量指向同一塊內存空間(兩個變量是同一個值)
$新變量 = &$老變量; (&地址符號)

代碼實現:

常量

常量與變量同樣,都是用來保存數據的。

常量基本概念

常量:const/constant,是一種在程序運行當中,不可改變的量(數據)

常量一旦定義,一般數據不可改變(用戶級別)

常量定義形式

在PHP中常量有兩種定義方式(5.3以後纔有兩種)

一、 使用定義常量的函數:define(‘常量名’,常量值);

二、 5.3以後纔有的:const 常量名 = 值;

常量名字的命名規則
一、 常量不須要使用「$」符號,一旦使用系統就會認爲是變量;
二、 常量的名字組成由字母、數字和下劃線組成,不能以數字開頭;
三、 常量的名字一般是以大寫字母爲主(與變量以示區別);
四、 (第二點不徹底對:)常量命名的規則比變量要鬆散,可使用一些特殊字符,該方式只能使用define定義;

注意細節:
一、 Define和const定義的常量是有區別:在於訪問權限區別
二、 定義常量一般不區分大小寫,可是能夠區分,能夠參照define函數的第三個參數

常量使用形式

常量的使用與變量同樣:不可改變值(在定義的時候必須賦值

有的時候還須要使用另一種形式來訪問(針對的是特殊名字的常量),須要用到另一個訪問常量的函數:constant(‘常量名’)

說明:常量和變量的使用
一、 凡是數據會可能變化的,那麼確定是用變量
二、 數據不必定會變的,可使用常量或者變量(變量居多)
三、 數據不容許被修改的,必定用常量

數據類型

數據類型:data type,在PHP中指的是存儲的數據自己的類型,而不是變量的類型。PHP是一種弱類型語言,變量自己沒有數據類型 。

PHP的八種數據類型

在PHP中將數據分爲三大類八小類:

簡單(基本)數據類型:4個小類

整型:int/integer,系統分配4個字節存儲,表示整數類型(有前提)

浮點型:float/double,系統分配8個字節存儲,表示小數或者整型存不下的整數(好比32位存不下的整型)

字符串型:string,系統根據實際長度分配,表示字符串(引號)

布爾類型:bool/boolean,表示布爾類型,只有兩個值:true和false

複合數據類型:2個小類

對象類型:object,存放對象(面向對象)

數組類型:array,存儲多個數據(一次性)

特殊數據類型:2個小類

資源類型:resource,存放資源數據(PHP外部數據,如數據庫、文件)

空類型:NULL,只有一個值就是NULL(不能運算)

類型轉換

類型轉換:在不少的條件下,須要指定的數據類型,須要外部數據(當前PHP取得的數據),轉換成目標數據類型

在PHP中有兩種類型轉換方式:

一、 自動轉換:系統根據需求本身斷定,本身轉換(用的比較多,系統本身判斷須要的類型,效率偏低)

二、 強制(手動)轉換:認爲根據須要的目標類型轉換

強制轉換規則:在變量以前增長一個括號(),而後在裏面寫上對應類型:int/integer….其中NULL類型用到unset()

在轉換過程當中,用的比較多的就是轉布爾類型(判斷)和轉數值類型(算術運算)

其餘類型轉布爾類型:true或者false,在PHP中比較少類型會變成false

其餘類型轉數值的說明
一、 布爾true爲1,false爲0;
二、 字符串轉數值有本身的規則
1)以字母開頭的字符串,永遠爲0;
2)以數字開頭的字符串,取到碰到字符串爲止(不會同時包含兩個小數點)

類型判斷

經過一組類型判斷函數,來判斷變量,最終返回這個變量所保存數據的數據類型(相同結果爲true,失敗爲false):是一組以is_開頭後面跟類型名字的函數:is_XXX(變量名)

Bool類型不能用echo來查看(不能分辨是字符串的true仍是bool的true),可使用var_dump結構查看

Var_dump(變量1,變量2…)

還有一組函數能夠用來獲取以及設定數據(變量)的類型
Gettype(變量名):獲取類型,獲得的是該類型對應的字符串

Settype(變量名,類型)(返回bool值表示轉換成功與否):設定數據類型:與強制轉換不一樣
1)強制轉換(類型)變量名,是對數據值複製的內容進行處理(不會處理實際存儲的內容)
2)settype會直接改變數據自己

整數類型

整數類型:保存整數數值(範圍限制),4個字節存儲數據,最大就是32位:42億多。可是在PHP中默認是有符號類型(區分正負數)

在PHP中提供了四種整型的定義方式:十進制定義,二進制定義,八進制定義和十六進制定義

$a = 120; //10進制

$a=0b110; //2進制 0b開頭 b:binary

$a=0120; //8進制 0開頭

$a=0x120; //16進制 0x開頭

十進制:逢10進1,可以出現的數字是0-9
二進制:逢2進1,可以出現的數字是0-1
八進制:逢8進1,可以出現的數字是0-7
十六進制:逢16進1,可以出現的數字是0-9以及a-f,a表示10,依次類推

進制轉換:手動轉換
10進制轉二進制(方法一):除2倒取餘法
浮點型:小數類型以及超過整型所能存儲範圍的整數(不保證精度),精度範圍大概在15個有效數字左右

浮點型定義有兩種方式:

$f = 1.23;

$f = 1.23e10; //科學計數法,其中e表示底10。1.23*10^10

儘可能不要用浮點數作精確判斷:浮點數保存的數據不夠精確,並且在計算機中凡是小數基本上存的都不許確

布爾類型

布爾類型:兩個值true和false,一般是用於判斷比較

在進行某些數據判斷的時候,須要特別注意類型轉換
Empty():判斷數據的值是否爲「空」,不是NULL,若是爲空返回true,不爲空返回false
Isset():判斷數據存儲的變量自己是否存在,存在變量返回true,不存在返回false

相關文章
相關標籤/搜索