zoukankan      html  css  js  c++  java
  • PHP强大的数组函数

    <?php
    /**
    * Created by PhpStorm.
    * User: 63448
    * Date: 2018/5/6
    * Time: 21:56
    */
    echo "<h3>强大的数组函数</h3> ";
    echo "<hr>";
    //数组的定义
    $arr1 = array();
    $arr2 = [];

    //数组赋值
    $arr = array('a', 'b');
    $arr = array('key1' => 'a', 'key2' => 'b');
    // 利用 list 函数给数组赋值
    list($arr[], $arr[], $arr[]) = [1, 2, 3];

    /**
    * implode() - 数组转字符串
    */
    //函数功能:把数组以一定格式转为字符串。
    $arr = array('Hello','World!','I','love','Shanghai!');
    echo implode(" ",$arr);// 数组以空格连在一起,转成字符串
    echo "<hr>";
    /**
    * explode() - 字符串转数组
    */

    //函数功能:把字符串以一定格式切割转为数组。
    $str = "Hello world. I love Shanghai!";
    print_r (explode(" ",$str));// 字符串以空格的方式切割,转为数组
    echo "<hr>";
    /**
    * array_multisort() - 数组排序
    */
    //函数功能:可以同时对多个数组进行排序,关联键名保持不变,数字键名会被重新索引。
    // 自定义数据
    $data[] = array('volume' => 67, 'edition' => 2);
    $data[] = array('volume' => 86, 'edition' => 1);
    $data[] = array('volume' => 85, 'edition' => 6);
    $data[] = array('volume' => 98, 'edition' => 2);
    $data[] = array('volume' => 86, 'edition' => 6);
    $data[] = array('volume' => 67, 'edition' => 7);
    // 取得列的列表
    foreach ($data as $key => $row) {
    $volume[$key] = $row['volume'];
    $edition[$key] = $row['edition'];
    }
    // 先将数据根据 volume 降序排列,出现重复时再根据 edition 升序排列
    // 把 $data 作为最后一个参数,以通用键排序
    array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
    print_r($data);

    echo "<hr>";
    /**
    * array_column() - 获取数组指定一列
    */
    //函数功能:根据指定的 key,获取指定的那一列数据。


    // 表示由数据库返回的可能记录集的数组
    $a = array(
    array('id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates',),
    array('id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Jobs',),
    array('id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg',)
    );
    // 对目标数组获取 last_name 的一列,并复制到结果数组
    $last_names = array_column($a, 'last_name');
    print_r($last_names);
    echo "<hr>";
    /**
    * array_diff() - 数组相减求差集合
    */
    //函数功能:对两个数组进行比较,求两个数组的差集。
    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $a2=array("e"=>"red","f"=>"black","g"=>"purple");
    $a3=array("a"=>"red","b"=>"black","h"=>"yellow");
    // 把数组的差集保存到结果数组
    $result=array_diff($a1,$a2,$a3);
    print_r($result);
    echo "<hr>";
    /**
    * array_flip() - 数组键和值互换位置
    */
    //函数功能:将数组中的键和值进行位置调换,
    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $result=array_flip($a1);
    print_r($result);
    echo "<hr>";
    /**
    * array_intersect() - 两个数组的交集
    */
    //函数功能:比较两个数据的交集,算出两个数组的相同部分。

    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
    $a2=array("e"=>"red","f"=>"green","g"=>"blue");

    $result=array_intersect($a1,$a2);
    print_r($result);
    echo "<hr>";
    /**
    * array_key_exists() - 判断数组键名是否存在
    */
    //函数功能:判断数组中指定键名或索引是否存在,仅适用一维数组。
    $a=array("Volvo"=>"XC90","BMW"=>"X5");
    if (array_key_exists("BMW",$a)) {
    echo "键存在!";
    } else {
    echo "键不存在!";
    }
    echo "<hr>";
    /**
    * array_merge() - 合并数组
    */
    //函数功能:合并多个数据,不会合并相同键值的元素。
    $a1=array("red","green");
    $a2=array("blue","yellow");
    print_r(array_merge($a1,$a2));
    echo "<hr>";
    /**
    * array_pad() - 按照设定补全数组元素
    */
    //函数功能:设定函数长度,多除少补地保证数组长度跟设定的一致,可以设置补充元素的值。
    $a=array("red","green");
    print_r(array_pad($a,10,"blue"));
    echo "<hr>";
    /**
    * array_pop() - 数组最后一个元素出栈(删)
    */
    //函数功能:把数组最后一个函数去掉。
    $a=array("red","green","blue");
    print_r(array_pop($a));//打印删除的那一个
    echo "<hr>";
    /**
    * array_product() - 数组内元素相乘
    */
    //函数功能:计算数组内的所有元素相乘的结果,空数组返回1。
    $result = array_product([1,2,3]);
    print_r($result);
    echo "<hr>";
    /**
    * array_sum() - 数组内元素相加
    */
    //函数功能:计算数组内所有元素相加的结果,空数组返回0。
    $result = array_product([1,2,3]);
    print_r($result);
    echo "<hr>";
    /**
    * array_push() - 数组叠加元素
    */

    //函数功能:给数组叠加(入栈)元素,可以是多个。

    $a=array("red","green");
    array_push($a,"blue","yellow");
    print_r($a);
    echo "<hr>";
    /**
    * array_search() - 数组搜索键值
    */
    //函数功能:搜索数组指定值,搜索成功将返回首个元素的键值。
    $a=array("a"=>"red","b"=>"green","c"=>"blue");
    echo array_search("red",$a);
    echo "<hr>";
    /**
    * array_shift() - 数组第一个元素出栈(删)
    */
    //函数功能:把数组中的第一个元素删掉,弹出第一个元素。
    $a=array("a"=>"red","b"=>"green","c"=>"blue");
    echo array_shift($a)."---";
    print_r ($a);
    echo "<hr>";
    echo "<hr>";

    ?>
  • 相关阅读:
    [Luogu] P3258 [JLOI2014]松鼠的新家
    [Luogu] P3701 「伪模板」主席树
    [USACO] 打井 Watering Hole
    [Luogu] P3225 [HNOI2012]矿场搭建
    [USACO06JAN] 冗余路径 Redundant Paths
    [Luogu] P1407 [国家集训队]稳定婚姻
    [USACO06JAN] 牛的舞会 The Cow Prom
    [Luogu] P4254 [JSOI2008]Blue Mary开公司
    [Luogu] P1993 小K的农场
    [Luogu] P2279 [HNOI2003]消防局的设立
  • 原文地址:https://www.cnblogs.com/cp168168/p/9000219.html
Copyright © 2011-2022 走看看