zoukankan      html  css  js  c++  java
  • PHP的数据处理函数二(数组)

    1.array_change_key_case()将关联数组的数组下标全部改为大写或小写.

    $people = array('A'=>"Bill",'b'=>"Steve", 'c'=>"Mark", 'D'=>"David");
    var_dump(array_change_key_case($people,CASE_LOWER));   

    //CASE_UPPER大写 或 CASE_LOWER小写 将数组下标全部改为大写或小写.

    2.array_count_values(数组名称) 用来计算数组中各值出现的次数.

    $a=array("A","Cat","Dog","A","Dog");
    var_dump(array_count_values($a));

    //输出结果  array(3) { ["A"]=> int(2) ["Cat"]=> int(1) ["Dog"]=> int(2) }

    3.array_fill(1.下标从几开始 2.输出多少个 3.他们的值是什么) 用来做初始化数组.

    $a1=array_fill(3,4,"blue");
    var_dump($a1);

    输出结果:array(4) { [3]=> string(4) "blue" [4]=> string(4) "blue" [5]=> string(4) "blue" [6]=> string(4) "blue" }

    4.array_filter(1.目标数组 2.使用者定义的函数) 过滤函数,自定义以什么标准为真,以什么标准为假,此函数可以自动过滤掉假的字符串.

    function test_odd($var)
    {
    return($var);
    }

    $a1=array("a","b",2,3,4);
    print_r(array_filter($a1,"test_odd"));    

    输出:Array ( [0] => a [1] => b [2] => 2 [3] => 3 [4] => 4 )

    5.array_flip(目标数组) 将下标变为值,值变为下标.

    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    var_dump(array_flip($a1));

    输出:array(4) { ["red"]=> string(1) "a" ["green"]=> string(1) "b" ["blue"]=> string(1) "c" ["yellow"]=> string(1) "d" }

    6.array_sum(目标数组) 计算目标数组中所有元素值的总和.

    $a=array(5,15,25);
    echo array_sum($a);

    输出:45

    7.array_unique(目标数组) 去除目标数组中重复的值.

    $a=array("a"=>"red","b"=>"green","c"=>"red");
    var_dump(array_unique($a));

    输出:array(2) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" }

    8.array_values(目标数组) 将目标数组中所有下标都去掉,重新从"0"开始计算此函数中值的下标.

    $a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
    var_dump(array_values($a));

    输出:array(3) { [0]=> string(4) "Bill" [1]=> string(2) "60" [2]=> string(3) "USA" }

    9.array_keys(目标数组) 输出目标数组中的所有下标.

    $a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
    var_dump(array_keys($a));

    输出:array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(6) "Toyota" }

    10.in_array(1.要找的东西 2.目标数组 3.是否严格按照数据类型查找,是就输true) 查找目标数组中有无查找的数据.

    header('content-type:text/html;charset=utf8');
    $people = array("Bill", "Steve", "Mark", "David");
    if (in_array("Mark", $people))
    {
    echo "匹配已找到";
    }
    else
    {
    echo "匹配未找到";
    }

    输出:匹配已找到

    11.array_search(1.要找的东西 2.目标数组 3.是否严格查找,true,false - 默认,是否区分大小写) 查找目标数组中有无查找的数据,有则输出此数据的下标.

    $a=array("a"=>"red","b"=>"green","c"=>"blue");
    echo array_search("red",$a);

    输出:a

    12.array_key_exists(1.要找的下标 2.目标数组) 查找目标数组中有无查找的下标,有则输出true,无则输出false.

    header('content-type:text/html;charset=utf8');
    $a=array("Volvo"=>"XC90","BMW"=>"X5");
    if (array_key_exists("Volvo",$a))
    {
    echo "键存在!";
    }
    else
    {
    echo "键不存在!";
    }

    输出:键存在!

    13.extract(目标数组) 将数组转换成变量.

    $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
    extract($my_array);
    echo "$a = $a; $b = $b; $c = $c";

    输出:$a = Cat; $b = Dog; $c = Horse

    14.compact(要转换成数组的变量下标) 将多个变量转换成数组.

    $firstname = "Bill";
    $lastname = "Gates";
    $age = "60";
    $result = compact("firstname", "lastname", "age");
    var_dump($result);

    输出:array(3) { ["firstname"]=> string(4) "Bill" ["lastname"]=> string(5) "Gates" ["age"]=> string(2) "60" }

    15.array_push(1.目标数组 2.添加的值)函数向第一个参数的数组尾部添加一个或多个元素,

    $a=array("red","green");
    array_push($a,"blue","yellow");
    var_dump($a);

    输出:array(4) { [0]=> string(3) "red" [1]=> string(5) "green" [2]=> string(4) "blue" [3]=> string(6) "yellow" }

    16.array_pop() 函数删除数组中的最后一个元素。

    $a=array("red","green","blue");
    array_pop($a);
    var_dump($a);

    输出:array(2) { [0]=> string(3) "red" [1]=> string(5) "green" }

    17.array_unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。该函数会返回数组中元素的个数。

    提示:您可以插入一个或多个值。

    $a=array("a"=>"red","b"=>"green");
    array_unshift($a,"blue");
    var_dump($a);

    输出:array(3) { [0]=> string(4) "blue" ["a"]=> string(3) "red" ["b"]=> string(5) "green" }

    18.array_shift() 函数删除数组中第一个元素,并返回被删除元素的值。

    注释:如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增(参见下面例子)。

    $a=array("a"=>"red","b"=>"green","c"=>"blue");
    echo array_shift($a).'<br/>';
    var_dump($a);

    输出:red
    array(2) { ["b"]=> string(5) "green" ["c"]=> string(4) "blue" }

    19.sort(目标数组) 从小到大的排序.

    sort() 函数对索引数组进行升序排序。

    注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。

    如果成功则返回 TRUE,否则返回 FALSE。

    $cars=array("Volvo","BMW","Toyota");
    var_dump(sort($cars));

    输出:bool(true)

    20.rsort(目标数组) 从大到小的排序.

    sort() 函数对索引数组进行升序排序。

    注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。

    如果成功则返回 TRUE,否则返回 FALSE。

    $cars=array("Volvo","BMW","Toyota");
    var_dump(sort($cars));

    输出:bool(true)

    21.count() 函数返回数组中元素的数目。

    $cars=array("Volvo","BMW","Toyota");
    echo count($cars);

    输出:3

    22.array_flip() 函数用于反转/交换数组中所有的键名以及它们关联的键值。

    array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。

    如果原数组中的值的数据类型不是字符串或整数,函数将报错。

    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $result=array_flip($a1);
    var_dump($result);

    输出:Array ( [red] => a [green] => b [blue] => c [yellow] => d )

    23.array_reverse() 函数以相反的元素顺序返回数组。

    array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。

    如果第二个参数指定为 true,则元素的键名保持不变,否则键名将丢失。

    $a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
    var_dump(array_reverse($a));

    输出:array(3) { ["c"]=> string(6) "Toyota" ["b"]=> string(3) "BMW" ["a"]=> string(5) "Volvo" }

    24.explode() 函数把字符串打散为数组。

    $str = "Hello world. I love Shanghai!";
    var_dump(explode(" ",$str));

    输出:array(5) { [0]=> string(5) "Hello" [1]=> string(6) "world." [2]=> string(1) "I" [3]=> string(4) "love" [4]=> string(9) "Shanghai!" }

    25.implode() 函数返回由数组元素组合成的字符串。

    implode() 函数接受两种参数顺序。但是由于历史原因,explode() 是不行的,您必须保证 separator 参数在 string 参数之前才行。

    implode() 函数的 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。

    $arr = array('Hello','World!','I','love','Shanghai!');
    echo implode(" ",$arr);

    输出:Hello World! I love Shanghai!

  • 相关阅读:
    事件的解密
    C#世界中的委托
    这次是C#中的接口
    完全二叉树的建立和翻转
    全排列的应用
    网易笔试-按位或运算
    柱状图的最大矩形--单调栈
    Linux将线程绑定到CPU内核运行
    Windows多线程与线程绑定CPU内核
    B+树介绍
  • 原文地址:https://www.cnblogs.com/songbo236589/p/8177374.html
Copyright © 2011-2022 走看看