PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 7 章 資料型態.

Slides:



Advertisements
Similar presentations
變數與函數 大綱 : 對應關係 函數 函數值 顧震宇 台灣數位學習科技股份有限公司. 對應關係 蛋餅飯糰土司漢堡咖啡奶茶 25 元 30 元 25 元 35 元 25 元 20 元 顧震宇 老師 台灣數位學習科技股份有限公司 變數與函數 下表是早餐店價格表的一部分: 蛋餅 飯糰 土司 漢堡 咖啡 奶茶.
Advertisements

第四週課程 1 (10/10~10/16) 如何建立資料. 原始資料範例 a1~a5 表示選擇題,輸入原始答案,如 A 、B、C、D b1~b5 表示填充題, c1~c5 表示計算題,輸入得分.
第一單元 建立java 程式.
第一节 人口的数量变化.
德 国 鼓 励 生 育 的 宣 传 画.
大葉大學 指導教授: 黃鈴玲 學生: 林慶南(工業工程與科技管理所)
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
陣列與字串 Java陣列特性 一維陣列 多維陣列 字串 字串的相關函數 字串緩衝器類別.
JAVA 程式設計 資訊管理系 - 網路組.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
Chapter 5 迴圈.
PHP程式設計 三、PHP基本語法 建國科技大學 資訊管理學系 饒瑞佶.
第十一章 結構.
LINQ 建國科技大學 資管系 饒瑞佶.
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
2-3 基本數位邏輯處理※.
2 C++ 程式概論 2.1 C++ 程式結構 程式註解 // 插入標題檔 #include 2-3
列舉(enum).
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
Java程式概觀.
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
安裝JDK 安裝Eclipse Eclipse 中文化
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 17 章 物件.
檔案與磁碟的基本介紹.
Java 程式設計 講師:FrankLin.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
第一章 直角坐標系 1-1 數系的發展.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 8 章 變數.
第一單元 建立java 程式.
VS.NET 2003 IDE.
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
UpToDate Anywhere 設定方法
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
Pocket Access.
第 19 章 XML記憶體執行模式.
第一個cordova project Cordova project建立與平台設定,均藉由cli(command line interface來完成 建立project請打開命令提示字元視窗應輸入下列命令 cordova create hello tw.edu.stust.mis.hello HelloWorld.
雲端計算.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
挑戰C++程式語言 ──第8章 進一步談字元與字串
|第 2 章 變數與資料型態.
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
樣版.
挑戰C++程式語言 ──第7章 輸入與輸出.
MiRanda Java Interface v1.0的使用方法
第14章 結構與其他資料形式.
陣列與結構.
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
簡單Java介紹.
網頁設計實務- PHP 與資料庫整合.
1757: Secret Chamber at Mount Rushmore
資料表示方法 資料儲存單位.
期末報告第一題 通訊四甲 B 湯智瑋.
第四章 陣列、指標與參考 4-1 物件陣列 4-2 使用物件指標 4-3 this指標 4-4 new 與 delete
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
第6章 PHP基本語法介紹.
變數、常數與資料型態 大綱 變數與常數 變數 資料型別 資料的輸出.
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Develop and Build Drives by Visual C++ IDE
JUDGE GIRL 使用介紹 & 常見問題 TAs :
InputStreamReader Console Scanner
Presentation transcript:

PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 7 章 資料型態

本章大綱 7-1 資料型態 7-2 布林型態 (Boolean) 7-3 整數型態 (INTEGER) 7-4 浮點數型態 (FLOAT) 7-1 資料型態 7-2 布林型態 (Boolean) 7-3 整數型態 (INTEGER) 7-4 浮點數型態 (FLOAT) 7-5 字串型態 (STRING) 7-6 陣列型態(ARRAY) 7-7 物件型態 (OBJECT) 7-8 資源型態 (Resource) 7-9 NULL型態 問題與討論

7-1 資料型態 PHP 對於變數的資料型態並不像許多的高階語言要事先宣告變數的型態。 而是在使用變數時, 變數被設定的值的型態就是變數型態。 例 $X = 90 ; // $X 的資料型態設定為整數。 $Y = 1.23 ; // $Y 的型態為浮點數 較嚴謹的撰寫模式, 在使用變數時必需先宣告變數的資料型態. 變數的資料型態可以使用函數來設定指定變數的資料型態。

資料型態包含下列8種型態 名稱 型態 範例 Boolean 布林型態 $a=Ture; Integer 整數型態 $a= 10 ; Float 浮點數型態 $a= 1.2345 ; String 字串型態 $a= “Hello !!” ; Array 陣列型態 $a[0]=20 ; Object 物件型態 $a= new ObjectClass ; Resource 外部資源型態 $a=mysql_connect() ; NULL Null型態 $A=NULL ;

7-2 布林型態 (Boolean) 布林型態只有True (真) 與False (假) 二種值 其語法如下: True | False ; 例如: $X=Ture; $Y=False; $X 設定為真, $Y 設定為假.

其他資料型態轉換成布林型態 因為布林型態只有真值與假值, 所以各型態依下列的情形會被設定為False 整數值=0 浮點數=0.0 空字串 沒有陣列元素的陣列 沒有任何成員變數的物件 NULL 或沒有設定任何值的變數 除了上述情形以外其餘變數型態的都會被轉換為 True

7-3 整數型態 (INTEGER) 所謂的整數簡單來說就是不含有小數的數。 整數在使用上可以以 10進制、 8 進制或 16 進制的方式表示數值。 整數型態語法如下: [+|-] [0|0x] 數值 [+|-]: 正負符號, 省略時表示正值. [0|0x]: 數字基底. 0表示8進制, 0x表示16進制, 省略時表示10進制 數值: 10進制為[0-9]的組合或為0, 8進制為[0-7]的組合或為0, 16進制為[0-9,A-F] ,A-F可以小寫,其所代表的意義請參閱 表7-1

舉例說明:   $A = 123 ; $B = -456 ; $C = 0123 ; $D = 0x45 ; $A 表示十進制正整數, $B 表示十進制負數, $C 在數值的前面加上 ”0” 表示 8 進制數的 123, 其值相當於十進制的 83, $D 在數值的前面加上 ”0x” 表示 16 進制數的 45, 其值相當 10 進制的 69。當然 $C 或 $D 前面加上負號即表示負值的 8、16進制。

表 7-1 各進制數值表示方式 十進制 八進制 十六進制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 20 A B C D E F 表 7-1 各進制數值表示方式

1: <html> 2: <title>整數</title> 3: <body> 4: <? 5: $A=12 ; 6: $B=-34 ; 7: $C=012; 8: $D=0x12 ; 9: echo “A=$A <BR> B=$B <BR> C=$C <BR> D=$D”; 10: ?> 11: </body> 12: </html> 範例說明: 首先我們可以看到第 5-6 行 $A、$B 分別被設定為 12 及 -34, 兩個數都是以10 進制表示數值。第 7 行 $C 設定為 8 進制的 12。第 8 行 $D設定為 16進制的 12。如圖 7-1, 因為 $C 和 $D分別為8進制及16進制, 所以顯示的時候是將這兩個變數以十進制的值顯示出來, 分別為 10 和 18。

7-4 浮點數型態 (FLOAT) 浮點數型態是指含有小數的數值。 浮點數語可以有下列表示方式 $A = 123.45 $B = 1.2345e2 第一種是大家所熟悉的表示方式, 第二種是以指數的方式來表示。

2: <title>浮點數</title> 3: <body> 4: <? 1: <html> 2: <title>浮點數</title> 3: <body> 4: <? 5: $A=12.3456 ; 6: $B=-123.456 ; 7: $C=1.23456789e-2; 8: $D=1.23456789e2 ; 9: echo "A=$A <BR> B=$B <BR> C=$C <BR> D=$D" ; 10: ?> 11: </body> 12: </html> 範例說明: 第 5-6 行 $A 和 $B 分別表示正浮點數與負浮點數。第 7-8 行 $C 和 $D 為指數表示式, $C 因為 e 後面為 –2 相當於數值乘以 -100倍 (意即小數點向左移兩位), 反之 $D 相當於數值乘以 100 倍 (意即小數點向右移兩位)。

7-5 字串型態 (STRING) 字串是文字的串列的組合。 字串有二種常用的表示方式, 第一種方式是將文字串以二個雙引號前後括起來。 第二種方式是將文字串以二個單引號前後括起來。 在字串中需要使用特殊字元, 則可以用反斜線 ( \ ) 表示。例如 \n 表示換行。

\n \r \t \\ \” \’ \$ 字元 代表意義 換行並歸零 換行 跳一定點 反斜線 雙引號 單引號 $字元 表 7-2 字串中的特殊字元

單引號表示需注意下列幾點: 字串中的變數不會顯示變數的內容. 在範例 6-4 已說明此種情形 字串中如需單引號必須以 \’ 代替單引號, 例如 echo ‘I\’ll be back’; 顯示 I’ll be back 雙引號表示需注意下列幾點: 字串中會顯示變數的內容. 在範例6-4已說明此種情形 字串中如需雙引號必須以\”代替雙引號, 例如 echo “\”PHP\” is a good solution.”; 顯示”PHP” is a good solution.

2: <title>字串</title> 3: <body> 4: <?php 1: <html> 2: <title>字串</title> 3: <body> 4: <?php 5: $A = "Hello " ; 6: $B = "my friend.<br>\n" ; 7: $C = "Today is sunday." ; 8: echo "$A $B $C <hr>" ; 9: echo "\$A=$A \$B=$B \$C=$C" ; 10: ?> 11: </body> 12: </html> 檢視原始檔案 由圖中可以看到 3 個文字串分 2 行顯示。在瀏覽器中選擇檢視原始檔案可以看到 ”\n” 已經不存在, 所在的位置恰好使得原始檔換行顯示, 在沒有加入 ”\n” 則原始檔是連續顯示。但是請讀者特別注意瀏覽器中文字換行的效果是由 <br> 所產生的, 並不是由 ”\n” 產生的。最後的第 8-9 行 echo 分別顯示三個字串變數, 其中第 8 行 ”$A” 是代表變數, 而第 9 行 ”\$A” 可以看成是 ”\$”+”A” , 所以在解譯時 ”\$” 表示 ”$” 請參考表7-2) , 最後在瀏覽器中就可以看到 ”$A” 而不會把它當作一個變數。

1: <html> 2: <title>字串連接</title> 3: <body> 4: <?php 5: $A = "Hello " ; // 設定$A的內容 6: $B = "my friend, " ; // 設定$B的內容 7: $C = $A . $B ; // 將$B的內容加至$A後 8: $C = $C . "how are you?" ; // 附加$C的內容 9: echo " $C " ; // 顯示$C的內容 10: ?> 11: </body> 12: </html> 範例說明: 第 7-8 行說明二個字串間可以以 ”.” 符號使二個字串接連在一起。這和其他語言不同, 也就是說不可以使用 ”+” 相連二個字串, 否則會產生錯誤。

7-6 陣列型態(ARRAY) 所謂的陣列就是指集合相同屬性的變數所成的集合, 我們稱之為陣列. 如圖7-6說明了6 個變數與陣列的關係. 陣列的名稱為$CAR而裡面是 6 個元素的集合.分別以$CAR[0], $CAR[1]…到$CAR[5]代表這 6 個元素. 陣列的語法如下 $陣列名稱[指標]

陣列 在 PHP 中因為變數型態不需要特別宣告, 因此當資料存入變數時, 變數存放的格式為陣列格式, 此時變數即可成為陣列型態。舉例如下:   $A[0] = 0 ; $A[1]=10 ; $A[2]=20 ; $A[3]=30; 這時候建立了一個一維陣列內容值為 0,10,20,30。如圖所示輸入的資料依序放入名稱為 $A 的陣列. 而且請記得陣列的指標是從 0 開始.

陣列的種類 在陣列中只有一個指標的陣列稱為一維陣列, 如果陣列的指標超過一個以上稱之為多維陣列. 有兩個指標則稱之為二維陣列, 三個指標稱之為三維陣列其餘依此類推。 例: $A[1][1] = “Hello” ; // 二維陣列 $B[1][2][3] = 10 ; // 三維陣列 $C[1][2][0][2] = 1.2345 ; // 四維陣列

7-7 物件型態 (OBJECT) 一個新的資料型態稱之為類別在類別中定義: 物件的資料成員 (Data Member),代表物件的屬性。 物件的成員函數 (Member Function), 代表物件的操作模式。 由於類別是一個資料型態, 所以類別是虛擬的宣告並沒有佔用資源. 真正使用時必須宣告一個物件的類別型態, 此時物件是一個實體會佔用統資源如記憶體, CPU Time等. 建築藍圖(類別) VS.依照藍圖建造的大樓(物件)

類別格式 class 類別名稱 { var 資料成員; function 成員函數(){ 成員函數內容 }

類別範例 1: <?php 2: class table { 3: var $color ; 4: function set_color($new_color){ 5: $this->color=$new_color ; } 6: function show_color() { 7: echo $this->color; 8: echo "<br>\n" ; } 9: } 10:?> 11: <html> 12: <title>物件</title> 13: <body> 14: <? 15: $T=new table() ; 16: $D=new table() ; 17: $T->set_color("Red") ; 18: $D->set_color("Blue") ; 19: echo "T table color is " ; 20: $T->show_color() ; 21: echo "D table coloe is " ; 22: $D->show_color() ; 23: ?> 24: </body> 25: </html>

1: <?php 2: class table { 3: var $color ; 4: function set_color($new_color){ 5: $this->color=$new_color ; } 6: function show_color() { 7: echo $this->color; 8: echo "<br>\n" ; } 9: } 10:?> 11: <html> 12: <title>物件</title> 13: <body> 在範例中第 2-9 行 class 宣告一個類別名稱為 table。其中包括物件資料成員color, 並且擁有設定 color 屬性的成員函數 set_color(), 以及顯示 color 屬性內容的成員函數 show_color()。宣告完類別後只是定義好一個抽象的類別型態。 14: <? 15: $T=new table() ; 16: $D=new table() ; 17: $T->set_color("Red") ; 18: $D->set_color("Blue") ; 19: echo "T table color is " ; 20: $T->show_color() ; 21: echo "D table coloe is " ; 22: $D->show_color() ; 23: ?> 24: </body> 25: </html> 在範例中第 2-9 行 class 宣告一個類別名稱為 table。宣告完類別後只是定義好一個抽象的類別型態, 必須要用 new 指令來產生物件 (意即產生實體) 。第 15-16 行我們一共產生的兩個物件 $T 與 $D, 並分別對物件作設定屬性以及顯示屬性。物件在操作時利用 ”->”來存取、執行資料及功能。

7-8 資源型態 (Resource) 資源型態是一種特殊的資料型態, 不同於之前的資料型態, 資源型態變數是負責維持與外部資源的聯繫. 例如開啟的一個檔案, 資料庫連線, PDF, 影像等等 資源型態變數不可以直接操作, 如果需要操作資源型態變數則必須藉由特殊的函數才可以操作. 例: MySql 對PHP來說是一個外部資源, 因此當PHP需要操作資料庫時就必須藉由 PHP 中的 MySql 函數來操作. $m=mysql_connect(‘localhost’,’root’,’1234’);

7-9 NULL型態 NULL 也是一個比較特殊的型態. 一個變數如果被設定成 NULL就表示這個變數裡沒有任何的值. 有三種情形會被認定變數的值為NULL $n1 直接設定為 NULL, 所以 $n1 為 NULL. unset() 函數會清除變數的內容, 所以 $n2 為 NULL. $n3 沒有任何的設定和預先的處理, 所以 $n3 的內容也為NULL. 結論是上面的例子中 3 行 echo 都不會有任何的輸出. $n1=NULL; unset($n2); echo $n1; echo $n2; echo $n3;

問題與討論 請說明PHP的資料型態有哪些? 請說明<BR>和“\n”二者功能為何? 使用的時機有何不同。 請撰寫程式顯示下列變數之內容與變數型態。 $A=123 $B=12.345 $C="Hello !!“ 何謂陣列? 與多維陣列? 請說明陣列如何設定初始值。 何謂物件? 何謂資源 (resource) ?