廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 11046 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
anstd 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
頭銜:No bloodNo blood
版主
級別: 版主 該用戶目前不上站
推文 x27 鮮花 x638
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[PHP][討論] 我的PHP學習筆記(1)└資料型態┘  (版權沒有,盜版隨便)
作者:紅軍©2005-11-21
版權沒有,盜版隨便

前言:
以一般人的關念,隨便說個例子,譬如
(1)1+2=         等於3應該所有人都認同吧?那若是
(2)Ƈ'+ƈ'=     會是等於3嗎?決對不是喔!
因為
以(1)來說,它判定是數字1加數字2,結果會是3
以(2)來說,它判定則是文字1加文字2,結果會是12

資料型態介紹:

英文名稱     中文名稱     舉例
Boolean         布林型態     $a = True;
Integer         整數型態     $a = 10;
Float         浮點數型態     $a = 1.234;
String         字串型態     $a = "可以開房間嗎?"
Array         陣列型態     $a[0] = "房間1";
                  $a[1] = "房間2";
Object         物件型態     $a = new ObjectClass;
Resource     外部資源型態     $a = mysql_connect();
NULL         Null型態     $a = NULL;

●布林型態
這個你就想成是?不是?就這樣而已
因為此型態只有兩個值,分別為True(真);False(假)。
譬如說
$a = Ture;     //$a設為真
$b = False;     //$b設為假

除了直接設定,也可以不加以宣告使用該形態的default值
以下形態的Boolean值預設都為False
Integer =     0
Float =         0.0
String =     空字串
Array =         沒有陣列原素的陣列
Object =     沒有任何變數的物件
NULL =         沒有任何值或變數
除了上述會轉變為False,其他都會被轉為True

●整數型態
不含小數的數值,真是廢話,不然怎麼叫整數... XD
可用10、8、16進制3個方式表示數值
譬如這樣
$num1 = 123;     //十進制正整數
$num2 = -123;     //十進制負整數
$num3 = 0123;     //八進制的123 = 十進制的83
$num4 = 0x45;     //十六進制的45 = 十進制的69
各進制的轉換不會也沒關係
Windows的小算盤就可以幫你解答....:-)

●浮點數型態
不用想的亂七八糟,絕對不是這個數字會飄浮起來...=_=
把它想成小數就對了,管他這麼多!!
浮點數有時又以DOUBLE表示
譬如說
$fuck01 = 123.456;     //看也知道吧?就是123.456...
$fuck02 = 1.23456e2;     //看不懂嗎?其實也只是123.456,就把e2想成把小數點往哪丟
$fuck03 = 1.23456e-2;     //e-2,剛剛往右丟,負的就往左丟,所以是0.0123456
路人甲:瞎咪變數fuck01呀....凸...
主講者:哦哦...有人要翻桌了...XD..(羞)

●字串型態
喔..好啦,認真一點.. XD
其實只要用單引號或雙引號括起來的,那就是烤肉串呀,看是要蜜汁還是....(被打..||)

用單引號括起來會怎樣?
字串中的變數,不會顯示變數內容
那用雙引號呢?當然就是可以看到變數的內容呀!!
譬如下面
$name = "你阿拔";
$age = "幾億年";
echo '我是$name,活了$age'
echo "我是$name,活了$age";

執行後會看到
我是$name,活了$age     <==用單引號括住的結果
我是你阿拔,活了幾億年     <==用雙引號括住的結果

其他的特殊字元若要於字串中顯示,必須以反斜線表示 \
譬如我要顯示C:\
echo 'C:\\'     這樣才會顯示出\

字元:     \n         \r     \t         \\     \"     \'     \$
意思:     換行並歸零     換行     跳一定點     顯示\     顯示"     顯示'     顯示$

最後.....介紹這個.沒錯,就是點...
字串相加是用.
譬如
$a = "open door";
$b = "開門";
echo $a . $b;         //顯示open door開門
$c = Sa . $b;         //$a跟$b加起來後丟給$c
echo $c               //$c叫出來也是open door開門
$d = $c . "快點";     //$c直接加上一串字
echo $d;         //顯示open door開門快點
自己玩看看吧 @@"
   
●陣列型態
這要畫圖會比較好懂,但我還沒畫耶...改天補上好了 =_=
這個要幹嘛用??
比方說公司有很多人,那我宣告一堆變數來給他們放名字
$name1,$name2,$name3,$name4,$name5,$name6.....
哇靠,瘋掉...
直接用array集合起來不就好了,反正都是name呀!!
嘿,這樣也比較好整理,不是嗎 XD!!
怎麼用??往下看吧(以上述來當例子)

$name[0] = "Dino";     //array指標一定從0開始喔!!
$name[1] = "John";
$name[2] = "Ken";
$name[3] = "Joe";
$name[4] = "Anna";
$name[5] = "Diablo";     //Diablo登場!!...沒事...來湊人數的.. @@
for ($i=0; $i<=5; $i++)     //用for寫個小迴圈,$i設定為0,若$i小於或等於5,$i就累加
    echo "$name[$i] <br>";     //將name[$i]印出,$i由for迴圈一直累加
之後將會印出
Dino
John
Ken
Joe
Anna
Diablo
很好玩吧..XD

另一種array寫法

$name = array (
    0 => "Dino",
    1 => "John",
    2 => "Ken",
    3 => "Joe",
    4 => "Anna",
    5 => "Diablo" );
for ($i=0; $i<=5; $i++)
    echo "$i : $name[$i] <br>"; //這邊我們多印一個$i來看$i的值
二維陣列
直接舉例子好了 @.@ 沒有圖不太會講,用法差不多

    $陣列名稱 = array (
        0 => array (
              0 => 第0列,第0行的值
              1 => 第0列,第1行的值
              2 => 第0列,第2行的值
              ) ,
        1 => array (
              0 => 第1列,第0行的值
              1 => 第1列,第1行的值
              2 => 第1列,第2行的值
              ) ,
        看你要幾行幾列嚕....
    ) ;

實作

    $test = array (
        0 => array (
              0 => "第0列,第0行的值",
              1 => "第0列,第1行的值",
              2 => "第0列,第2行的值"
              ) ,
        1 => array (
              0 => "第1列,第0行的值",
              1 => "第1列,第1行的值",
              2 => "第1列,第2行的值"
              ) ,
        2 => array (
              0 => "第2列,第0行的值",
              1 => "第2列,第1行的值",
              2 => "第2列,第2行的值"
              ) ,
    ) ;

    echo "顯示二維陣列內容<br>";
    for ($i=0; $i<=2; $i++){
        for ($j=0; $j<=2; $j++)
              echo "│" . $test[$i][$j] . "│" ;
    echo "<br>";
    }

●物件型態
是瞎米碗膏?糟糕,我不知道怎麼說耶
先看一下結構好了... @.@

class 類別名稱 {
    var 本公司援交女?,值多少錢?;         //物件資料成員的宣告
    var 本公司總共賺了多少;
    .
    .
    .
    function 新增援交對向         //物件成員函數宣告
        {.......}
    function 所有援交對向
        {.......}
    function 所有收入
        {.......}
}

好...證明了一件事,我滿腦子....@#$% 嗯嗯,知道就好...

以上面的結構我來做個列子嚕.. @@

<?
    class sex {
        var $girl ;
        var $money ;
        function AddOneGirl($name,$cost) {
              $this->girl[]=$name ;
              $this->girl[]=$cost ;
        }
        function GetGirl() {
              $c=count ($this->girl);
              for ($i=0; $i<$c; $i+=2) {
                  echo "名字:".$this->girl[$i];
                  echo "→→收費:".$this->girl[$i+1]."元<br>";
              }
        }
        function GetMoney() {
              $c=count ($this->girl);
              $s=0;
              for ($i=1; $i<$c; $i+=2) {
                  $s+=(integer) $this->girl[$i];
              }
              return $s;
        }
       
    }
?>
<html>
<title>物件用法</title>
<body>
<?
    $customer1 = new sex;
    $customer2 = new sex;
    $customer1->AddOneGirl("援交妹A","1000");
    $customer1->AddOneGirl("援交妹B","1500");
    $customer1->AddOneGirl("援交妹C","3590");
    $customer1->AddOneGirl("援交妹D","1200");
    $customer2->AddOneGirl("援交妹E","2200");
    $customer2->AddOneGirl("援交妹F","3900");
    $customer2->AddOneGirl("援交妹G","1500");
    $customer2->AddOneGirl("援交妹H","1000");
    echo "第一位顧客消費:<br>";
    $customer1->GetGirl();
    echo "<hr>";
    echo "第二位顧客消費:<br>";
    $customer2->GetGirl();
    echo "<hr>";
    echo "總共金額:<br>";
    $money=$customer1->GetMoney() + $customer2->GetMoney();
    echo "今日營業額 $money 元";
?>
</body>
</html>


[ 此文章被紅軍在2005-11-22 13:21重新編輯 ]



獻花 x2 回到頂端 [樓 主] From:台灣中華電信 | Posted:2005-11-21 17:16 |
anstd 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎
頭銜:No bloodNo blood
版主
級別: 版主 該用戶目前不上站
推文 x27 鮮花 x638
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
[補充說明]
作者:紅軍©2005-11-22
版權沒有,盜版隨便

寫完這篇收到PM說我好色...真糟糕... XD

●外部資源型態
外部資源就是,開一個檔案啦,連結SQL啦,開一個A圖啦....(羞)..
阿...好啦...我承認我邊看A圖邊打這篇有的沒的....(暈)...|||
依照往例,先舉個例子,就拿PHP的好朋友MySQL來說明好了 ^^

$變數名稱 = MySQL來開房間('去哪找MySQL','誰去敲MySQL的門','敲門的鑰匙');

$aa = mysql_connect('localhost','root',�');

這時候呀,aa老大就跑去跟MySQL開房間......(汗)
不是啦... XD,是$aa在此時就成為了一個資源型態的變數,負責去連繫位在本地端主機上的MySQL資料庫
這時若是連線成功,$aa的值就是True,那失敗當然就是False嚕!!

但上面的做法有個很大的缺點,就是MySQL的帳號密碼都在檔案之內
若這檔案被偷走了,哇靠,哪天你的MySQL被【先姦再殺】都不曉得..

於是有了另外一個做法

先另外寫一個PHP程式,拿來放MySQL的帳號密碼,然後再把他給藏起來..嘿嘿

譬如先寫一個
<?
    $host = "localhost";
      $user = "我的帳號";
      $pass = "我的密碼";  
      $database = "使用的資料庫";
?>
然後存檔,檔名最好別提到什麼db啦...sql啦...這樣白癡一看就知道這是瞎米碗膏糕了 @.@
假設我先存成sex_girl.php,然後丟到根母乳下的母乳的母乳的點點點隨你爽......請將母乳改成目錄,正好看到刺激畫面..=o=
之後需要用到MySQL帳號密碼的PHP程式,叫他去讀那支sex_girl.php就行嚕 :-)
若是unix-like系統那就更完美了,把此程式權限給檔案擁有者就好,一般user?連看都別想看XD!
若是Win32...嗚...我不知道=_=,丟到某資料夾後去改http.conf嗎??? =o=算了..不管

譬如這樣


複製程式
<?
       .
       .                                   //一堆讓別人看到混亂的程式碼
       .
       include "./xx/xx/xx/sex_girl.php";       //看你把他藏到哪裡去
       .                                   //,就從哪裡導入→順便學會用include :-)
       .                                   //這邊也是一堆看了眼睛脫窗的程式碼
       .
       function sql($query)                     //這裡是用寫一個function的方式來使用SQL
       {                                   //,還沒教但可以先看看結構 :-)
              global $host,$user,$pass,$database;       //若不能用global請去找php.ini相關資訊
                                                    //,至少google查詢有一堆!
                 $conn=mysql_connect( $host, $user, $pass);       //把導入的變數內容
              mysql_select_db($database,$conn);              //再丟入mysql_connect...
              $result = mysql_query($query);
              mysql_close($conn);
              
              return $result;
       }
       .
       .                                   //一堆程式碼讓人迷路
       .

?>


嘿,這樣安全許多嚕,至少重要資訊不漏白
雖然有心人士還是能輕易找到藏資料的那支PHP,但至少做多一層保護,就少一份危機!!


●Null型態
NULL...完但,我又詞窮了..怎麼介紹它...=o="
它算是一個特殊的型態,也不難
就是......什麼都沒有!
沒錯,就是什麼都沒有!要我講幾次XD!!!
有人會把0或者空白也想成什麼都沒有...但這關念錯的很離譜!
其實舉個例子會是最好理解的方式

$a = NULL;
$b = 0;
$c = " ";

這樣就很好懂了吧,a什麼也沒有,b是數字0,c是空白字元

再來一個...(打槍..阿不..打鐵要趁熱..嘿嘿...)

$aa = NULL;     //這就不用再說了吧..
unset($bb);     //意思是unset()函數內的變數將被清除內容
echo $aa;     //當然就是瞎米都沒有呀
echo $bb;     //被清光光若還有就要去拜拜..
echo $cc;     //PHP:hi,cc你是誰?...(根本沒這號人物,若回答表示撞鬼了@.@)

花了一點時間,簡單說完PHP的八種資料型態,若哪裡講的太爛想翻桌的要告訴我嘿..^^

我的PHP學習筆記(1)─資料型態 (end)
版權沒有,盜版隨便..@.@


[ 此文章被紅軍在2005-11-22 13:28重新編輯 ]


獻花 x1 回到頂端 [1 樓] From:台灣中華電信 | Posted:2005-11-22 13:22 |
axdebnm 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x34 鮮花 x935
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

淺顯易懂
舉例逼真
實事求是
給您送花
另日再來看


一直到現在我仍然深深相信,我們的相遇不是什麼機率或是刻意,
而是一種注定,注定要在彼此心裡刻劃一道,記憶也好,傷痕也罷,都是一種注定的付出。
*版權所有。請勿盜用*
獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2005-11-21 17:40 |
devilchc 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

感謝用心!及慷慨分享喔!


獻花 x0 回到頂端 [3 樓] From:台灣 | Posted:2006-01-27 16:26 |
壞小孩
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x4
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我對文章有問題
---------------------------------
最後.....介紹這個.沒錯,就是點...
字串相加是用.
譬如
$a = "open door";
$b = "開門";
echo $a . $b;       //顯示open door開門
$c = Sa . $b;       //$a跟$b加起來後丟給$c
echo $c           //$c叫出來也是open door開門
$d = $c . "快點";   //$c直接加上一串字
echo $d;       //顯示open door開門快點
自己玩看看吧 @@"
---------------------------------
$c = Sa . $b;       //$a跟$b加起來後丟給$c

裡面是Sa還是$a呢? ^^


獻花 x0 回到頂端 [4 樓] From:台灣台灣固網 | Posted:2006-02-03 00:00 |
gkcalo75
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

壞小孩 你好:
$c = Sa . $b;     //$a跟$b加起來後丟給$c

正確應該是 $c = $a . $b;
表情 表情


獻花 x0 回到頂端 [5 樓] From:台灣中華電信 | Posted:2006-03-06 21:53 |
hsin0513
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

感請大大的分享~~~讓我受益良多~~ 表情


獻花 x0 回到頂端 [6 樓] From:台灣中華電信 | Posted:2006-03-17 15:17 |
shihmc
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x1
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

小弟 虛心受教學習ㄋ 佩服你 你的學習紀錄使受益人 獲益 讓大家成長


獻花 x0 回到頂端 [7 樓] From:未知地址 | Posted:2006-03-20 16:41 |
bebo628
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x35
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

剛剛看到大大的範例 我本來不懂PHP的
但是看囉看覺得$money都沒用到很怪
所以改囉這樣跑出來也是一樣的答案
所以是不是說   var $money 這各的設定和這各$this->money有關呢
大大的範例把   var $money ;改成//var $money ;也行耶 所以我改成這樣
請大大看一下   我說的不對可否交我一下 我剛剛學 感謝您
複製程式
<?php
    class sex 
    {
        var $girl ;
        var $money ;
        
       function AddOneGirl($name,$cost)
         {
              $this->girl[]=$name ;
              $this->money[]=$cost ;
        }
        function GetGirl() 
        {
              $c=count ($this->girl);
              for ($i=0; $i<$c; $i+=1) 
              {
                  echo "名字:".$this->girl[$i];
                  echo "→→收費:".$this->money[$i]."元<br>";
              }
              
        }
        
        function GetMoney() 
        {
              $c=count ($this->money);
              $s=0;
              for ($i=0; $i<$c; $i+=1)
               {
                  $s+=(integer) $this->money[$i];
              }
              return $s;
        }
        
    }
?>
<html>
<title>物件用法</title>
<body>
<?php
    $customer1 = new sex;
    $customer2 = new sex;
    $customer1->AddOneGirl("援交妹A","1000");
    $customer1->AddOneGirl("援交妹B","1500");
    $customer1->AddOneGirl("援交妹C","3590");
    $customer1->AddOneGirl("援交妹D","1200");
    $customer2->AddOneGirl("援交妹E","2200");
    $customer2->AddOneGirl("援交妹F","3900");
    $customer2->AddOneGirl("援交妹G","1500");
    $customer2->AddOneGirl("援交妹H","1000");
    echo "第一位顧客消費:<br>";
    $customer1->GetGirl();
    echo "<hr>";
    echo "第二位顧客消費:<br>";
    $customer2->GetGirl();
    echo "<hr>";
    echo "總共金額:<br>";
    $money=$customer1->GetMoney() + $customer2->GetMoney();
    echo "今日營業額 $money 元";
?>
</body>
</html>


獻花 x0 回到頂端 [8 樓] From:台灣中華電信 | Posted:2006-04-08 02:03 |
martinyueh3 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x2 鮮花 x236
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

對了....PHP程式碼可以用ZEND或base64加密
可以加上檔名混淆...
-------------我是可愛的分格線-----------------
不要類別化的形式 POP的思想
(記得有看過.憑印象寫出)
函數:priceOfHouseDoor($num,$price)

用於計算ㄧ棟房子門的價格
$num 門的數量
$price 門的價格

function priceHouseDoor($num,$price)
{
  return $num*$price;
}

echo "價格總和: " . priceHouseDoor(2,5) . " 元";

或者乾脆更直接
$num=5;
$price=8;
echo $num*$price;

當了解物件導向後

class house
{
  /******************************************
  函數:getDoorPrice($num,$price)
  功能:計算所有的門的價格總和
  參數:$num 門的數量,$price 每扇門的架格
  ******************************************/
  function getDoorPrice($num,$price)
  {
    return $num*$price;
  }
}
$house=new house;
echo $house->getDoorPrice(2,5);//價格

我們一下子就看出來,這段代碼用到了OOP的代表 -- 類和實例化.那麼,這就是面向對像編程了嗎?
我再仔細一看,發現這個類其實只不過是上面的priceOfHouseDoor($num,$price)函數的面向對像形式.

嗯,現在我們先探討一下到底什麼才叫面向對像編程.我的理解是:面向對像編程有兩個核心內容.一是類,二是實例.類是對一類事物的抽像,而實

例是這一類事物中的個體.而實例的屬性(值)和方法(函數),則分別是這個個體的具體內容和動作.
我們再來看看上面的這個house類.它有一個方法,getDoorPrice($num,$price),引入了兩個參數.一個是房子的門的數量,一個是房子門價.我們

發現,當我們使用這個方法時,這兩個值是臨時構建的,並沒有與房子形成任何的聯繫.在實際生活中,一個房子裡的門與房子無任何聯繫,這是不

可以理解的...正如我們所知道的,OOP其實是我們真實世界的一個縮影.所以,OOP中的房子和房子的門無任何聯繫,也是不可理解的,是非OO的思想
那麼,我們應該如何使用真正的OO來實現以上功能呢?請看以下代碼:

代碼:

class house
{
  var $doors;//門的數量
  var $pricePerDoors;//每扇門的價格
    function setNumOfDoors($num){$this->doors=$num;}//設定門數量
    function setPricePerDoor($price){$this->pricePerDoors=$price;}//設定每扇門的價格
  /*************\
  *獲得門的價格 *
  \*************/
  function getDoorPrice()
  {
    return ($this->doors)*($this->pricePerDoors);
  }
}
$house=new house;
$house->setNumOfDoors(2);//設定門數量
$house->setPricePerDoor(5);//設定每扇門的價格
echo $house->getDoorPrice();//輸出


我們很明顯地看到,以上代碼的門的數量和價格房子已經結合在了一起.這才是真正的面向對像.


獻花 x0 回到頂端 [9 樓] From:台灣中華電信 | Posted:2006-04-12 21:44 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.075361 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言