PHP學習 類型 變量 常數 運算符

PHP支持下列8種類型php

標量類型 scalar type
整數 integer
浮點數 float double
布爾 boolean
字符串 stringmysql

特殊類型 special type
NULL
資源 resourcesql

符合類型 compound type
數組 array
對象 objectshell

整數
echo (10); //顯示十進制整數10
echo (010); //顯示八進制整數8
echo (0x10); //顯示十六進制整數16
echo (0b10); //顯示二進制整數2
echo PHP_INT_SIZE; //表示整數integer值的字長
echo PHP_INT_MAX; //顯示最大整數
echo PHP_INT_MIN; //顯示最小整數數據庫

浮點數 float double
echo (-123.456);
echo (+12.3);
echo (0.123456789012342);
echo (1.2345E+2);
echo (-1223.45e-3);數組

布爾 boolean 用來表示TRUE或者FALSE兩種值 沒有字母大小寫之分
當咱們將布爾數據轉化爲值類型時 TRUE會轉換成1 FALSE會轉化成0
當咱們將布爾數據轉化爲字符串類型時 TRUE會轉換成"1" FALSE會轉化成空字符串""
當咱們將非布爾數據轉化爲布爾類型時 只有下列數據會轉成FALSE,其餘數據均會轉化成TRUE,包括全部負數以及任何有效資源
整數0
浮點數0.0
空字符串"" 與字符串"0"
沒有元素的數組
沒有成員的對象
特殊類型NULL(包括還沒有設置的變量)app

字符串
單引號字符串 single quoted string
雙引號字符串 double quoted string
heredoc 語法
nowdoc 語法函數

single quoted string
echo ('happy birthday!'); //顯示 happy birthday
echo ('C:\\Win'); //顯示C:\Win
echo ('I am \'Jean\'.'); //顯示 I am 'Jean' \爲轉義字符 會被解析爲'學習

double qouted string
echo ("I am \"Jean"\.");
$str = "Mary";
echo ("Hi.$str"); //顯示str 會被解析爲字符串 Mary
echo (\u{00A9}); //顯示UTF-8字符 U+00A9表示© 符號
echo (\u{A9}); //顯示UTF-8字符 U+00A9表示© 符號 開頭的0能夠省略scala

英語學習 parser 解析器

heredoc語法
php 中的 heredoc技術是php用來引用字符串的一種方式
這種表示法有固定的格式 一開始是<<< 運算符 接着就是標識符和換行 而後是字符串
最後以同一個標識符結尾 標識符的命名規則和變量相同

<?php
echo <<< STR1
My name is Jean <br>
Happy birthday to you!
STR1;
?>

nowdoc語法 針對單引號字符串的
here語法會進行變量解釋,而newdoc語法不會
<?php
$name = "Jean";
echo <<<'STR1'
My name is $name.<br>
Happy birthday to you!
STR1;
?>

咱們可使用數組 array的概念存取字符串中的字符,並且鍵 key的起始值爲0 舉例來講 假設 $str = "Day"; 那麼第一個字符爲$str[0] 即D
第二個字符爲$str[1],即a 其餘以此類推若是要變動字符串的字符 假設要將第一個字符更改成P 那麼能夠寫成$str[0] = "P"; $str的值就變成了"Pay"

NULL
凡是還沒有設置值得變量 值都賦值爲常數NULL的變量和值被unset的函數清除的變量均會被視爲NULL

資源
資源 resource 表明的是一種特殊值 用來指向PHP程序的外部資源 例如 數據庫 圖形圖像 等

$my_resource = mysql_connect();

通常來講 咱們並不須要手動釋放資源 PHP ZEND Engine 會自動管理除了數據庫以外的全部資源,當咱們要是手動釋放資源的時能夠將指向資源的變量設置爲NULL
$my_resource = NYLL;

類型轉換
PHP會視實際狀況自動轉換類型

檢查類型
PHP提供了能夠檢查數據類型的幾個函數
gettype(arg) - 返回參數arg的類型
is_integer(arg) is_int(arg) in_long(arg) 若參數爲整數類型 就返回true 不然返回false
is_float
is_bool
is_string
is_null
is_array
is_resource
is_object
is_numberic
is_scalar

明確轉換類型
echo (int)TRUE //轉型表達式(int) 將true轉化爲整數1,故顯示1
float double real bool boolean string array object
使用settype(var,type)
$var = TRUE;
settype($var,"integer");
echo $var;

使用intval(var) floatval(var) strval(var) 將參數分別轉換爲integer float string 類型

變量命名規則
PHP區分大小寫
$
第一個字符能夠是英文字母和下劃線

PHP有自定義變量和預約義變量 上面說的是自定義變量 下面是預約義變量
$_SERVER
$_ENV
$_COOKIE
$_GET
$_POST
$_FILES
$php_errormsg 前一個錯誤信息
$_REQUEST Request變量
$_SESSION Session變量
$_GLOBAL Global變量

PHP屬於動態類型的程序設計語言 變量使用前無需聲明類型 同時能夠在運行期間視實際狀況動態轉換類型

通常賦值
$myName = "小丸子"; //變量myName的類型爲string

引用賦值
$var1 = "John";
$var2 = &$var1;
$var2 = "Mary";
echo $var2; //顯示Mary

可變變量
$var = "Happy";
$$var = "Birthday";
echo $var; //顯示變量var的值 Happy
echo $$var; //顯示變量Happy的值 Birthday
echo $Happy; //顯示變量Happy的值 Birthday

做用域 scope
全局變量 global variable
函數 function
局部變量 local variable

變量處理函數
isset(arg) 若參數arg的值不是NULL 返回true 不然false
unset(arg) 清除參數arg的值 使之成爲NULL
empty(arg) 若參數arg的值是空的,返回true 不然返回false 所謂空的 整數0 浮點數0.0 空字符串 "" 字符串"0" 空數組 NULL FALSE var $var 在類內聲明而且還沒有設置值的變量
intval(arg) 返回參數arg的整數值
floatval(arg)返回參數arg的浮點數

常數 constant
php提供用戶自定義常數和預約義常數兩種
自定義
define(name,value[,case_insensitive])

define("PI",3.14);
define("X",10*5);
define("Y",X+2);

預約義的常數 predefined constant
PHP_INT_SIZE
PHP_INT_MAX
...

魔法常數 magic constant
_LINE_ 文件的行數
_FILE_ 完整的路徑與文件名
_DIR_ 文件所在的目錄
_FUNCTION_ 函數名稱
_CLASS 類型名
_METHOD 方法名稱
_NAMESPACE_ 命名空間名稱

運算符
算術運算符 - + * / % **
字符串運算符 鏈接字符串 小數點.
遞增遞減運算符++ -- ++$a $a++ --$a $--;
比較運算符 == != <> < > <= === !== <=> ??
位運算符
邏輯運算符 !and or xor && ||
賦值運算符 = += -+ *= /= %=
條件表達式 ?: 10>2?"YES":"NO"; 結果true返回第一個表達式的值,不然返回第二個表達值的值
錯誤控制運算符 $a = @file("c"\hellop.php");
執行運算符 ``的用途是執行shell命令
運算符優先級 加括號改變優先級

php的輸出函數
echo str1[,str2,[,str3...]]
echo '<i>Hello!</i><br>';
echo 'happy','birthday','<br>';
echo '<a href="default.htm">回首頁</a>';

print str 只接受一個參數 而且print有返回值
print 'hello';

var_dump(var1[,var2[,var3...]]) 輸出一個或多個變量 var_dump ($a,$b,$c);

相關文章
相關標籤/搜索