广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 11071 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为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.077847 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言