• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    2.4PHP复合数据类型:数组和对象

    Posted by 撒得一地 on 2015年9月29日 in PHP入门教程
    国外稳定加速器推荐    Express | Vypr

    PHP中复合数据类型包括两种,即数组和对象。
    array(数组):一组数据的集合。
    object(对象):对象是类型的实例,使用new命令来创建。

    数组(array)
    数组是一组数据的集合,它把一系列数据组织起来,形成一个可操作的整体。数组中可以包括很多数据类型,如字符串,整型,对象,数组,资源等。
    PHP中的数组实际上是一个有序映射,映射是一种把values关联到keys的类型。数组中的每个数据称为一个元素,元素包括索引(键名)和值两个部分。数组中的值还可以再是数组,这样就形成了多维数组。
    定义数组的语法格式如下:

    $array = ('value1','value2'......)
    
    或
    
    $array[key] = 'value'
    
    或
    
    $array = array(key1=>value1,key2=>value2......)
    

    元素的索引(key)可以由数字或字符串组成,元素的值(value)可以是任意类型的值。
    其中,参数key是数组元素的下标,value是数组下标所对应的元素。所以,数组其实用逗号分隔的键(key) => 值(value)对。
    最后一个数组单元之后的逗号可以省略,例如常用array(1,2)而不是array(1,2,)。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。 
    自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。 

    例子1:
    <?php
    $array  = array(
       "foo"  =>  "bar" ,
       "bar"  =>  "foo" ,
    );
    // 自 PHP 5.4 起
    $array  = [
       "foo"  =>  "bar" ,
       "bar"  =>  "foo" ,
    ];
    ?> 
    

    此外 key 会有如下的强制转换: 
    1.  包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。  
    2.  浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。  
    3.  布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。  
    4. Null  会被转换为空字符串,即键名 null 实际会被储存为 ""。  
    5.  数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。  

    如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。

    例子2:
    <?php
    $array  = array(
        1     =>  "a" ,
        "1"   =>  "b" ,
        1.5   =>  "c" ,//1.5被替换为1
        true  =>  "d" ,//true被替换为1
    );
     var_dump ( $array );
    ?> 
    
    以上输出:
    array(1) {
    [1]=>string(1) "d"
    }
    

    在数组中,如果想取得数组中某一个数的值,可以用数组名加下标(索引)的方法取得特定值。
    如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。

    例子3:
    <?php
    $array = array(
        1 => 3,
        'a' => b,
        1 => 4,
        2 => 5,
        5);
    //如果想取得5,只要用$array[2]
    echo $array[2]."<br/>";
    
    //修改$array[2]的值 将其值改为7
    $array[2] = 7;
    
    /*因为上面定义了两个相同的索引1,不过后面
      的后定义值会覆盖前面的值,可以打印看下
    */
    //print_r是php自定义函数,用于打印数组
    print_r($array);
    ?>
    

    上面的执行结果是先输出5,然后打印出数组:

    5
    Array
    (
    [1] => 4
    [a] => b
    [2] => 7
    [3] => 5
    )
    上面值为5没定义键值,php会默认取之前最大的整数索引值的下一个整数(即原有的索引值加1)为其键值。php默认最小的整数索引值为0。

    要修改某个值,通过其键名给该单元赋一个新值。要删除某键值对,对其调用 unset() 函数。 

    例子4:
    <?php
    $arr  = array( 5  =>  1 ,  12  =>  2 );
    //将索引为5的值1改为42
    $arr [ 5 ] =  42 ;  
    //删除数组中索引5和其对应的值              
    unset( $arr [ 5 ]);  
    //删除整个数组
    unset( $arr );     
     ?> 
    

    对象(object)
    php中应用到的编程方法有两种:面向过程和面向对象。面向对象是模拟现实世界来进行编程的一种方法。
    要创建一个新的对象 object ,使用 new 语句实例化一个类: 

    <?php
     class  foo
     {
        function  do_foo ()
        {
            echo  "Doing foo." ; 
        }
    }
     $bar  = new  foo ;
     $bar -> do_foo ();
     ?> 
    

    这部分放在后面讲解。

    标签:, ,

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    2 + 6 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 北京赛车赌博合法吗 捷克酷喜乐彩铅怎么样 大乐透复式彩票样品 广东时时彩历史 pk10直播 pk10计划北京赛车 500彩票网大乐透15126期推荐汇总 体彩排列3试机号 小财神彩票论坛 体彩排列五走势图 河南快赢481坑人吗 dnf牛牛 体彩p3试机号开奖号 佳能数码相机报价及图片 最新时时彩计划软件 赌场风云 电视剧