• PHP:第四章——PHP数组转换,统计,相关函数


    <pre>
    <?php
    //数组转换,统计,相关函数
    header("Content-Type:text/html;charset=utf-8");
    //count();计算数组的单元数目。别名:sizeof();
    //例:
    /*$arr=array(2,4,6);
    echo count($arr);//输出:3
    */
    
    //array_change_key_case 返回字符串键名全为大写或是小写的数组。
    /*原形:array array_flip ( array $trans )
    功能:返回一个反转后的 array。例如 trans 中的键名变成了值,而 trans 中的值成了键名。 
    注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。
     如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。
     如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。 
    */
    
    //默认是小写,加上CASE_UPPER全为大写。
    /*$arr=array('First'=>1,'Second'=>2);
    $arr2=array_change_key_case($arr,CASE_UPPER);
    print_r($arr2);//输出数组$arr2,键名全是大写字母。
    */
    
    
    //array_flip()  交换数组中的键和值。返回反转后的数组。
    /*$a=array('First'=>1,'Second'=>2);
    $b=array_flip($a);
    print_r($b);*/
    /*
    输出:
    Array
    (
        [1] => First
        [2] => Second
    )
    */
    
    //array_column();返回数组中指定的一列
    /*函数原形:array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
    array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。 
    参数说明:
    input        需要取出数组列的多维数组(或结果集) 
    column_key   需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用) 
    index_key   作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。 
    返回值:从多维数组中返回单列数组*/ 
    
    //例:提前老师的姓
    /*$records = array(
        array(
            'id' => 2135,
            'first_name' => '张',
            'last_name' => '老师',
        ),
        array(
            'id' => 3245,
            'first_name' => '王',
            'last_name' => '老师',
        ),
        array(
            'id' => 5342,
            'first_name' => '李',
            'last_name' => '老师',
        ),
        array(
            'id' => 5623,
            'first_name' => '赵',
            'last_name' => '老师',
        )
    );    
    $first_name=array_column($records,'first_name');
    print_r($first_name);*/
    /*
    输出:
    Array
    (
        [0] => 张
        [1] => 王
        [2] => 李
        [3] => 赵
    )
    */
    //用firt_name作为值,用id作为键,输出新的数组。
    /*$first_name2=array_column($records,'first_name','id');
    print_r($first_name2);*/
    /*
    输出:
    Array
    (
        [2135] => 张
        [3245] => 王
        [5342] => 李
        [5623] => 赵
    )
    */
    
    //array_combine()创建一个一个数组,用一个数组作为键,另一个数组作为值。
    /*函数原形:array array_combine ( array $keys , array $values )
    功能:返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。 
    注意:返回合并的 array,如果两个数组的单元数不同则返回 FALSE。
    */
    //例:
    /*$arr1=array('羊','狗','鱼');
    $arr2=array('草','肉','水');
    $arr3=array_combine($arr1,$arr2);
    print_r($arr3);*/
    /*输出:
    Array
    (
        [羊] => 草
        [狗] => 肉
        [鱼] => 水
    )
    */
    
    //array_count_values()统计数组中所有值出现的次数。
    /*函数原形:array array_count_values ( array $input )
    array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值*/
    //例:
    /*$arr=array('Hello','women','Hello','Hello','mon','women');
    print_r(array_count_values($arr));*/
    /*
    输出:
    Array
    (
        [Hello] => 3
        [women] => 2
        [mon] => 1
    )
    */
    
    //array_sum — 计算数组中所有值的和 
    /*原形:number array_sum ( array $array )
    功能:将数组中的所有值的和以整数或浮点数的结果返回。 
    说明:如果数组的值不是数值型,会按强制转换原则进行转换。
    代码示例:统计购物车中所有商品总价*/
    /*$a=array(2,3,4,5);
    $b=array_sum($a);
    print_r($b);*/
    //输出:14
    
    
    //array_product 计算数组中所有元素的乘积
    /*原形:number array_product ( array $array )
    功能:array_product() 以整数或浮点数返回一个数组中所有值的乘积。     
    代码示例:本函数实用价值不强,了解即可
    */
    /*$arr=range(1,5);
    $b=array_product($arr);
    print_r($b);//输出:120*/
    
    //array_fill — 用给定的值填充创建数组   
    /*原形:array array_fill ( int $start_index , int $num , mixed $value )
    功能:用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。
    参数说明: 
    如果 start_index 是负数, 那么返回的数组的第一个索引将会是 start_index ,而后面索引则从0开始。             
    插入元素的数量。 必须大于 0。 
    返回:填充后的数组,如果 num 少于一个,将会抛出 E_WARNING。 */
    
    /*$a = array_fill(5, 6, 'banana');
    $b = array_fill(-2, 4, 'pear');
    print_r($a);
    print_r($b);*/
    /*
    输出:
    Array ( [5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana ) 
     Array ( [-2] => pear [0] => pear [1] => pear [2] => pear )   
    */
    
    /*array_fill_keys — 使用指定的键和值填充数组。 了解即可
    原形:array array_fill_keys ( array $keys , mixed $value )
    使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组。 
    */
    
    /*$keys = array('D', 5, 10, 'L');
    $a = array_fill_keys($keys, '中国');
    print_r($a);//结果:Array ( [D] => 中国 [5] => 中国 [10] => 中国 [L] => 中国 ) */
    
    //array_pad 用值将数组填补到指定长度(了解即可)  
    /*原形:array array_pad ( array $input , int $pad_size , mixed $pad_value )
    array_pad() 返回 input 的一个拷贝,并用 pad_value 将其填补到 pad_size 指定的长度。如果 pad_size 为正,则填补到数组的右侧,如果为负则从左侧开始填补。如果 pad_size 的绝对值小于或等于 input 数组的长度则没有任何填补。有可能一次最多填补 1048576 个单元。 */
    /*$input = array(12, 10, 9);    
    $result = array_pad($input, 5, 0);
    //结果:array(12, 10, 9, 0, 0)*/
    
    //array_reverse — 返回一个单元顺序相反的数组 
    /*原形:array array_reverse ( array $array [, bool $preserve_keys = false ] )
    功能:array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组。 
    参数说明:preserve_keys 如果设置为 TRUE 会保留数字的键。 
    非数字的键则不受这个设置的影响,总是会被保留。 
    */
    
    /*$a= array('D' => '中', '美', '日');
    $b = array_reverse($a);
    print_r($b);*/
    /*输出: Array( [0] => 日 [1] => 美 [D] => 中)  */
    
    //array_keys  — 返回数组中部分的或所有的键名
    /*原形:array array_keys ( array $array [, mixed $search_value [, bool $strict = false ]] )
    功能:array_keys() 返回 input 数组中的数字或者字符串的键名。
    如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。 
    参数说明:
    search_value    如果指定了这个参数,只有包含这些值的键才会返回。 
    strict    判断在搜索的时候是否该使用严格的比较(===)。
    */
    $a = array('x' => 'a', 'y' => 'b','d' => 'c', 'l' => 'd'); 
    $b = array_keys($a);
    print_r($b);
    //提取键形成新数组 array ( 0 => 'x', 1 => 'y', 2 => 'd', 3 => 'l')    
    
    /*
    array_values — 返回数组中所有的值
    原形:array array_values ( array $input )        
    功能:array_values() 返回 input 数组中所有的值并给其建立数字索引。
    */
    /*$a = array('d' => '中', 'l' => '德','x' => '法', 'y' => '英'); 
    $b = array_values($a);    
    print_r($b);*/
    //结果: Array ( [0] => 中 [1] => 德 [2] =>法 [3] =>英 ) 
    ?>
  • 相关阅读:
    一起学ORBSLAM(2)ORB特征点提取
    SIFT特征浅析
    数字图像处理之均值滤波,高斯滤波,中值滤波,双边滤波
    STM32的GPIO
    静态锁问题
    一起学ORBSLAM2(3)system框架搭建
    构造函数/拷贝构造函数/赋值运算符/移动构造函数/移动赋值运算符几个的区别与相似之处
    一起学ROS之日志消息,命名规范,消息录制与回放
    C语言 ---- 函数 结构体 iOS学习-----细碎知识点总结
    C语言 ---- 数组 iOS学习-----细碎知识点总结
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/7148664.html
Copyright © 2020-2023  润新知