<?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>"; ?>

PHP强大的数组函数的更多相关文章

  1. 前端学PHP之数组函数

    × 目录 [1]键值操作 [2]记数[3]回调函数[4]组合[5]栈和队列[6]顺序 前面的话 PHP中的数组功能非常强大,数组处理函数有着强大.灵活.高效的特点.PHP5提供了近100个操作数组的系 ...

  2. PHP之数组函数归类

    数组之所以强大,除了本身声明.存储方式灵活,它还有坚强后盾:一系列功能各异的数组处理函数.就像一只军队,除了领队将军本身能征善战,指挥英明之外,还有一群不怕死.忠实于他的士兵,这样才能显得整体的强大. ...

  3. PHP内核之旅-5.强大的数组

    PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 PHP内核之旅-5.强大的数组 PHP内核之旅-6.垃 ...

  4. php数组函数有哪些操作?php数组函数的应用

    PHP 的数组是一种很强大的数据类型,与此同时 PHP 内置了一系列与数组相关的函数可以很轻易的实现日常开发的功能.但是我发现好像很多小伙伴都忽略了内置函数的作用(比如我自己就编写过一些有关数组操作的 ...

  5. 辛星解读之php中的重点函数第一节之数组函数

    这里我已经写好它的pdf版本号了,比本博客更加适合阅读.首先说一下它在百度网盘的下载地址把:百度网盘下载 ,假设左边连接跪了.能够在浏览器中输入:http://pan.baidu.com/s/1qW5 ...

  6. Excel催化剂开源第11波-动态数组函数技术开源及要点讲述

    在Excel催化剂中,大量的自定义函数使用了动态数组函数效果,虽然不是原生的Excel365版效果(听说Excel2019版取消了支持动态数组函数,还没求证到位,Excel365是可以用,但也仅限于部 ...

  7. 巧用 PHP 数组函数

    0x00 前言 PHP 的数组是一种很强大的数据类型,与此同时 PHP 内置了一系列与数组相关的函数可以很轻易的实现日常开发的功能.但是我发现好像很多小伙伴都忽略了内置函数的作用(比如我自己就编写过一 ...

  8. PHP数组函数: array_walk()与 array_map() 的区别

    详细的介绍如下: PHP数组函数: array_walk() PHP数组函数: array_map() 实际应用中的一点区别与总结: array_walk() 主要用于对某个数组的迭代,相当于 for ...

  9. php常用数组函数回顾一

    数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习.里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住 ...

随机推荐

  1. AngularJS 路由及SPA理解

    一.路由及SPA理解 路由允许我们通过不同的 URL 访问不同的内容,可实现多视图的单页web应用(SPA);通常我们的URL形式为 http://runoob.com/first/page,但在单页 ...

  2. DXP中插入LOGO图片方法(1)

    DXP中插入LOGO图片方法 1.QQ截图后,打开“开始”-->"附件"——>"画图工具",如图: 2.另存为BMP文件格式(设置图片大小.黑白色即 ...

  3. 安装部署Ceph Calamari

    根据http://ovirt-china.org/mediawiki/index.php/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2Ceph_Calamari 原文如下: ...

  4. FormatSQL

    核心提示:在一些论坛,常看到有人拼接SQL的时候,喜欢直接硬拼,结果就是出现一大堆加号和单引号,不仅写起来麻烦(你得小心该连续写多少个单引号),SQL的可读性也相当差....稍微好一点的方法是,使用Q ...

  5. delphi编写与调用DLL(delphi7下测试通过)

    http://blog.sina.com.cn/s/blog_4dbbf76f01000anz.html delphi编写DLL 下面在delphi中编写一个简单的dll,在该dll中只有一个max函 ...

  6. deeplearning 源码收集

    Theano – CPU/GPU symbolic expression compiler in python (from MILA lab at University of Montreal) To ...

  7. 一些LinuxC的小知识点(一)

    以下代码在Federo9上试验成功. 一.格式化输入16进制字符串 printf(); 输入结果: 二.测试各类型的占用的字节数 int main(int argc, char *argv[]) { ...

  8. 【C#】简单的发送socket字符串

    1 打开VS,新建一个C#窗口程序 2 添加按钮 3 写按钮的事件代码 双击这个按钮 进入代码界面 输入如下内容,注意IP和端口 private void button1_Click(object s ...

  9. Winform 自定义窗体皮肤组件

    分享一个很久之前写的一个Winform换肤组件. 主要利用CBT钩子,NativeWindow来实现.可实现动态换皮肤插件修改窗体显示外观. 我们先定义一个自定义组件 using Skin; usin ...

  10. C# 在WPF中使用Exceptionless异常日志框架

    登录http://exceptionless.com/官网,注册一个账户. 创建项目 选择wpf项目类型 拷贝下箭头指的这个密钥,过后程序里用的到. 下面我们打开vs,新建一个wpf的项目 打开git ...