php 数组2

<?php
//快速清空数组:
    $a = array();   //重新给变量赋一个空数组
    unset($a);      //真正的释放,将资源完全释放
/* 数组的合并与联合的区别:
     数组的合并:把两个数组的元素合并为一个数组的元素
     数组的联合:两个一维数组的元素,一个作为key 一个作为value  */
//字符串与数组的转换
    $prices_per_day = array('单人间'=>198,'标准间'=>268,'三人间'=>298,'VIP套房'=>398);
    echo implode('元每天/',$prices_per_day)."<br/>";
    $room_types = '单人间,标准间,三人间,VIP套房';
    print_r(explode('间',$room_types));echo "<br/>";
    /* 运行结果:
        198元每天/268元每天/298元每天/398
        Array ( [0] => 单人 [1] => 标准 [2] => 三人 [3] => VIP套房 )
    */
//向数组添加元素
    $people = array('张三','李四','王五');
    array_unshift($people,'刘备','关羽','张飞');  //后进先出
    array_push($people,'宋江','吴用','李逵'); //先进先出
    print_r($people);echo "<br/>";
    /* 运行结果:
        Array ( [0] => 刘备 [1] => 关羽 [2] => 张飞 [3] => 张三 [4] => 李四 [5] => 王五 [6] => 宋江 [7] => 吴用 [8] => 李逵 )
    */
//从数组中删除元素
    $peoples = array('张三','李四','王五');
    $delate = array_shift($peoples);    //删除头部
    echo $delate."<br/>";
    array_pop($peoples);    //删除尾部
    print_r($peoples);echo "<br/>";
    /* 运行结果:
        张三
        Array ( [0] => 李四 )
    */
//查询数组中的指定元素
    $people = array('张三','李四','王五');
    $peoples = array('老大'=>'刘备','老二'=>'关羽','老三'=>'张飞');
    if (in_array('张三',$people)){
        echo '\'张三\'元素在数组$people中<br/>';
    }
    if (array_key_exists('老大',$peoples)){
        echo '键名为\'老大\'的元素在数组$peoples中<br/>';
    }
    if (array_search('刘备',$peoples)){
        echo '值为\'刘备\'的元素在数组$peoples中<br/>';
    }
    print_r(array_keys($peoples));echo "<br/>";  //按键排列成数组
    print_r(array_values($people));echo "<br/>"; //按值排列成数组
    /* 运行结果:
        '张三'元素在数组$people中
        键名为'老大'的元素在数组$peoples中
        值为'刘备'的元素在数组$peoples中
        Array ( [0] => 老大 [1] => 老二 [2] => 老三 )
        Array ( [0] => 张三 [1] => 李四 [2] => 王五 )
    */
//统计数组元素个数
    $prices_per_day = array('单人间'=>198,'标准间'=>268,'三人间'=>298,'VIP套房'=>398);
    $room_types = array(
        array('type'=>'单人间','info'=>'此房间为单人单间','price'=>198),
        array('type'=>'标准间','info'=>'此房间为两床标准配置','price'=>268),
        array('type'=>'三人间','info'=>'此房间备有三张床','price'=>298),
        array('type'=>'VIP套房','info'=>'此房间为vip两间内外套房','price'=>398)
    );
    echo count($prices_per_day).'个元素在数组$prices_per_day中<br/>';
    echo count($room_types).'个内嵌数组在二维数组$room_types中<br/>';
    echo count($room_types,1).'个元素在二维数组$room_types中<br/>';  //4个内嵌数组+12个数组元素
    /* 运行结果:
        4个元素在数组$prices_per_day中
        4个内嵌数组在二维数组$room_types中
        16个元素在二维数组$room_types中
    */
//删除数组重复元素
    $price_per_day = array('单人间'=>198,'标准间'=>298,'三人间'=>298,'VIP套房'=>398);
    $prices_per_day = array('单人间'=>198,'三人间'=>298,'标准间'=>298,'VIP套房'=>398);
    print_r(array_unique($price_per_day));echo "<br/>";
    print_r(array_unique($prices_per_day));echo "<br/>";
    /* 运行结果:
        Array ( [单人间] => 198 [标准间] => 298 [VIP套房] => 398 )
        Array ( [单人间] => 198 [三人间] => 298 [VIP套房] => 398 )
    */
//调换数组的键值和元素值
    $prices_per_day = array('单人间'=>198,'标准间'=>268,'三人间'=>298,'VIP套房'=>398);
    print_r(array_flip($prices_per_day));echo "<br/>";
    /* 运行结果:
        Array ( [198] => 单人间 [268] => 标准间 [298] => 三人间 [398] => VIP套房 )
    */
//数组的序列化
    $arr = array('张三','李四','王五');
    echo serialize($arr)."<br/>";
    print_r(unserialize(serialize($arr)));
    /* 运行结果:
        a:3:{i:0;s:6:"张三";i:1;s:6:"李四";i:2;s:6:"王五";}
        Array ( [0] => 张三 [1] => 李四 [2] => 王五 )
    */

猜你喜欢

转载自blog.csdn.net/Qjy_985211/article/details/81129696
今日推荐