php數據類型以及運算

什麼是PHP?     拍黃片。     HTML:HyperText Mark-up Language 超文本標記語言     PHP(PHP:Hypertext Preprocessor )超文本預處理器,是一種運行在服務器端的腳本語言,尤爲適合web開發。 PHP能幹什麼?     收集表單數據     生成動態網頁     收發cookies     跨平臺運行     輸出圖像     文件處理     處理XML格式的數據     處理JSON格式的數據     會話跟蹤     。。。。。     服務端腳本,用於寫web網頁(主攻)CGI     命令行腳本,CLI     編寫桌面應用程序 PHP的特色     跨平臺運行     開源免費         http://www.github.com     支持大多數的web服務器     支持很大範圍的數據庫 PHP的發展史     1995年由Lerdorf(PHP之父)發明     1998年PHP3發佈     2000年PHP4發佈,開始引入面向對象的思想(半成品)     2004年PHP5發佈,徹底的支持面向對象思想         5.4或者5.6最穩定     2015年12月3號直接發佈了PHP7,速度翻了一倍 第一個PHP文件     1.環境裝好以後,進入到網站根目錄(www,若是不是wampserver,有多是htdoc)     2.新建的文件後綴名必定是.php,文件名不能是中文的     3.寫php代碼:phpinfo();     4.在瀏覽器中訪問文件:http://localhost:80/demo.php HTML中嵌套PHP代碼:     1.文件後綴必須是php     2.能夠嵌套到任何地方:body中、html以外、屬性中、css中     3.PHP代碼必須被<?php ?>所包裹 PHP的標記     1.標準風格(經常使用)         <?php php代碼 ?>     5.<?= 是echo的簡寫(經常使用)         <?='123';?> 至關於 <?php echo '123'; ?>     2.長風格(廢物!!!!)         <script language="php">php代碼</script>     3.短風格(廢物!!!!)         <? php代碼 ?>         須要在php.ini中開啓short_open_tag(將它設置爲on,默認爲off)     4.asp風格(廢物!!!!)         <% php代碼 %>         須要在php.ini中開啓asp_tag(將它設置爲on,默認爲off)     注意:         PSR規範中,只容許使用<?php ?>和<?= ?>這兩種         若是是純php文件,標準風格的結束標記能夠不寫 指令分隔符     PHP中語句分爲兩種         1.結構定義語句             流程控制、分支、循環、函數。。。用大括號標識,能夠不加分號         2.功能執行語句             輸出、變量定義、函數調用。。。後面必須加上分號     提示:php的結束標記中隱含了一個分號,最後一條語句能夠不加分號 PHP中的註釋     註釋掉的代碼,PHP都會忽略解析     1.//單行註釋         //註釋內容。。。     2.多行註釋         /*             註釋內容          */     3.#單行註釋         # 註釋內容。。。 PHP中對空白符的處理     PHP會忽略空格、換行、tab製表符的解析,因此能夠利用這個特色寫出可讀性比較高的代碼     要求:php代碼必需要按照嚴格的縮進;PSR規範規定,縮進只能4個空格(由於tab製表符的寬度,編輯器解釋不同,不利於代碼的移植) 變量     什麼是變量?         變量是用於臨時存儲值的容器         值能夠是數字、文本或者其餘一些比較複雜數據(數組、對象)     變量的特性         PHP是弱類型的語言,沒必要告知變量的類型是什麼,它會根據存儲的值來決定這個變量是什麼類型的     *變量的命名規範:         1.必須以$開始,後面跟變量名         2.變量名由字母、數字或者下劃線_組合而成         3.不能以數字開頭         4.嚴格區分大小寫         5.能夠是中文,可是別讓我看到這種代碼,否則罰抄10000遍 PHP中的數據類型     4種標量類型         boolean     布爾型             只有兩個值,要麼是true,要麼是false             一般用於if判斷,其餘類型轉換爲布爾型獲得false的狀況:                 布爾型:false                 字符串:''  '0'                 整型:0 -0                 浮點型:0.0                 數組:array() 空數組                 null:null(包括未定義的變量)             其餘全部值都被認爲是true         integer     整型             1.整型值可使用十進制,十六進制,八進制或二進制表示,前面能夠加上可選的符號(- 或者 +)。                  八進制表達,數字前必須加上0(零)                 十六進制表達,數字前必須加上 0x                 二進制表達,數字前必須加上 0b             2.PHP中整型的字長用PHP_INT_SIZE表示,通常佔4個字節             3.整型的取值範圍:PHP_INT_MAX 正負二十多個億!超出取值範圍自動轉換爲浮點型                 -2147483647~2147483647         float       浮點型             1.浮點數,就是有小數點的數,一般用來表示整數沒法表達的數值,好比金錢值、距離值、速度值             2.能夠用科學計數法來表示             3.在PHP中float也有最大數,1.8e308             4.浮點數的精度有問題             5.將浮點數取整的函數                 round()     四捨五入                 floor()     捨去取整                 ceil()      進一取整         string      字符串類型             定義方式:                 1. 單引號                 2. 雙引號                 3. heredoc 定界符方式                 4. nowdoc(5.3以上)             單雙引號的區別:                 一、雙引號能夠解析變量;單引號不能解析變量,會原樣輸出;                 二、雙引號能夠解析轉義字符;單引號只能轉義\\和\'自己;                 三、單雙引號都不能本身嵌套本身,能夠互相嵌套             轉義字符:                 \r  回車                 \n  換行                 \t  製表符                 \\  斜線自己             heredoc和nowdoc                 heredoc定界符能夠嵌套單雙引號,能夠解析變量和轉義字符                 nowdoc能夠嵌套單雙引號,不能解析變量和轉義字符             建議:儘可能使用單引號,效率略高     2種複合類型         array       數組類型         object      對象類型     2種特殊類型         resource    資源類型         null        空             只有一個值,就是null自己             獲得null的狀況:                 一、直接賦值爲null                 二、未被賦值的變量,默認值也是null                 三、被unset()刪除掉的變量也是null     PHP中的僞類型(看手冊,var_dump()),並非PHP的原始數據類型         mixed:表明這個參數能夠是多種不一樣的類型         number:表明這個參數能夠是int或者float             pow()         callback:還有個別名叫callable,表明這個參數必須是一個函數(回調函數)             call_user_func()、session_set_save_handler()         void:表明這個函數不接收任何參數;若是做爲返回值,表示這個返回值是無用的             time( void )             var_dump()             unset()     PHP中的類型轉換         強制轉換             (int)/(integer)     強制轉換爲整型             (bool)/(boolean)    強制轉換爲布爾型             (float)             強制轉換爲浮點型             (string)            強制轉換爲字符串             (array)             強制轉換爲數組             (object)            強制轉換爲對象             (unset)             強制轉換爲null         自動轉換             布爾環境             數值環境             字符串環境     數據類型的判斷:         is_bool()       檢測變量是不是布爾型         is_string()     檢測變量是不是字符串類型         is_int()        檢測變量是不是整型         is_float()      檢測變量是不是浮點型         is_array()      檢測變量是不是數組類型         is_object()     檢測變量是不是對象類型         is_resource()   檢測變量是不是資源類型         is_null()       檢測變量是不是null空類型         is_scalar()     檢測變量是不是標量類型(int、float、string、boolean)         is_numeric()    檢測變量是不是數字或數字字符串         gettype($a)   獲取變量的類型         settype($a, 'bool')   設置變量的類型(相似於強制轉換) 常量     常量         漢語字典中第1條解釋:長久,經久不變,常量也就是恆量         一經定義,不能刪除和改變。     常量的定義:         define             define('常量名', 常量值);         const             const 常量名 = '常量值';         常量名:             和變量名同樣,只能是數字、字母或下劃線;             不能以數字開頭 (定義的時候能夠,但用不了)             嚴格區分大小寫(define能夠經過第3個參數指定是否區分大小寫,true不區分)         常量值:             define定義的常量,除了object以外,均可以;(數組是PHP7新加的)             const定義的常量值,不能是資源和對象;     define和const的區別:         const可在類中使用,define不能         const不能在條件語句中定義常量         const採用一個普通的常量名稱,define能夠採用表達式做爲名稱         const只能接受靜態的標量,而define能夠採用任何表達式         const定義的常量時大小寫敏感的,而define可經過第三個參數(爲true表示大小寫不敏感)來指定大小寫是否敏感。     提示:echo一個未定義的常量時,會報一個notice並將常量名自動轉換爲字符串輸出;     defined(常量名)         用於檢測常量是否認義     預約義常量:get_defined_constants()獲取當前已經定義好的常量!         PHP_INT_MAX         PHP_INT_SIZE         PHP_VERSION         ...     魔術常量:         值會隨着環境的變化而改變         __LINE__    當前行號         __FILE__    當前文件         __DIR__     當前文件的目錄         __CLASS__         __METHOD__         __NAMESPACE__         。。。 運算符     運算符是能夠經過給出的一個或多個值來產生另外一個值的東西;     有3種類型的運算符         一元運算符             只可以接收1個值參與運算的叫一元運算符             1   -1  負值運算符 ++  --  !         二元運算符             2 + 2  算術運算符 + - * /         三元運算符             3   能夠接收3個值的就是三元運算符           算數運算符         +  -  *  /         %   取餘(取模)運算             39 % 3 == 0     求兩個數相除的餘數;39除以3餘數爲0     遞增遞減運算         ++             $i++;  //後遞增: 先返回$i,再將$i的值加1,下次用的時候值就是加1後的             ++$i;  //前遞增:先將$i的值加1,而後返回加過1後的$i         --             $i--;   //同上             --$i;         提示:對布爾值無效     字符串運算符         .   將其左右參數進行拼接運算         .=  將右邊參數,附加到左邊參數以後     賦值運算符         =             將右邊的表達式的值,賦值給左邊的變量         +=             $a += 3;    //將$a加上3以後再賦值給$a,能夠拆爲$a = $a + 3;         -=  *=  /=  %=     比較運算符         >       大於         <       小於         >=      大於等於         <=      小於等於         ==      等於         ===     全等於         != | <> 不等於         !==     不全等於     邏輯運算符:         邏輯與:&&  and             想娶大家丹姐,你要有房,而且還要有車!             洗臉:左臉和右臉             只有兩邊都爲true,才返回true,不然返回false         邏輯或:||  or             想娶鳳姐,要麼你財大,要麼你器粗!             丟錢包:你找到了,或者我找到了             只要有任何一邊爲true,結果就爲true;             注意:前面爲true,後邊就再也不執行,俗稱短路         邏輯非  !             小星星原本是純爺們(true),去了趟泰國,被砍了一刀(false),就不純了             就是取反的意思                 $bool = true;                 !$bool == false         邏輯異或 xor             男(true)男(true)不能結婚;             女(false)女(false)也不能結婚             兩邊不同才返回true,不然返回false     位運算符(瞭解)         按位與     &         按位或     |         按位異或   ^         左移       <<         右移       >>         按位非     ~     其餘運算符         ?: 三元運算符             表達式1 ? 表達式2 : 表達式3;             1爲真就執行2,爲假就執行3;         @  錯誤控制符,能夠屏蔽錯誤         `` 執行運算符,能夠執行一些操做系統的命令         //別急,講到相應知識點的時候會補充講解         =>  數組下標指定符號         ->  對象成員訪問符         instanceof 類型運算符
相關文章
相關標籤/搜索