让我们来体验一下多位数组的魅力吧!

多维数组就是一个数组里面包含一个或多个数组,这就是多维数组。下面用多维数组来编写一个小案例(代码在图片下面):

 <meta http-equiv="contnet-type" content="text/html" charset="utf-8"/>
<?php
$array=array(array("姚远",1999,"中国"),array("嘿嘿",13,"b"),array("溜溜",44,"c"));
print_r($array);
echo "<br/>我的名字:".$array['0'][0];
echo "<br/>我的年龄:".$array['0'][1];
echo "<br/>我的国家:".$array['0'][2];
?>

下面可以在多维数组中指定分配id键,案例如下图(代码在图片后面):

下面是代码部分:

 <meta http-equiv="contnet-type" content="text/html" charset="utf-8"/>
<?php
$array=array("姚远"=>array("姚远",1999,"中国"),"比尔盖茨"=>array("比尔盖茨",1987,"美国"),"乔布斯"=>array("乔布斯",1887,"美国"));
print_r($array);
echo "<br/>我的名字:".$array['姚远'][0];
echo "<br/>我的出生日期:".$array['姚远'][1];
echo "<br/>我的国家:".$array['姚远'][2];
?>

php 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能 性。因为可以用另一个 php 数组作为值,也可以很容易地模拟树。

下面我收集数组大部分的array函数:

 
描述
array()
创建数组。
array_change_key_case()
返回其键均为大写或小写的数组。
array_chunk()
把一个数组分割为新的数组块。
array_column()
返回输入数组中某个单一列的值。
array_combine()
通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。
array_count_values()
用于统计数组中所有值出现的次数。
array_diff()
比较数组,返回两个数组的差集(只比较键值)。
array_diff_assoc()
比较数组,返回两个数组的差集(比较键名和键值)。
array_diff_key()
比较数组,返回两个数组的差集(只比较键名)。
array_diff_uassoc()
比较数组,返回两个数组的差集(比较键名和键值,使用用户自定义的键名比较函数)。
array_diff_ukey()
比较数组,返回两个数组的差集(只比较键名,使用用户自定义的键名比较函数)。
array_fill()
用给定的键值填充数组。
array_fill_keys()
用给定的指定键名的键值填充数组。
array_filter()
用回调函数过滤数组中的元素。
array_flip()
反转/交换数组中的键名和对应关联的键值。
array_intersect()
比较数组,返回两个数组的交集(只比较键值)。
array_intersect_assoc()
比较数组,返回两个数组的交集(比较键名和键值)。
array_intersect_key()
比较数组,返回两个数组的交集(只比较键名)。
array_intersect_uassoc()
比较数组,返回两个数组的交集(比较键名和键值,使用用户自定义的键名比较函数)。
array_intersect_ukey()
比较数组,返回两个数组的交集(只比较键名,使用用户自定义的键名比较函数)。
array_key_exists()
检查指定的键名是否存在于数组中。
array_keys()
返回数组中所有的键名。
array_map()
将用户自定义函数作用到给定数组的每个值上,返回新的值。
array_merge()
把一个或多个数组合并为一个数组。
array_merge_recursive()
递归地把一个或多个数组合并为一个数组。
array_multisort()
对多个数组或多维数组进行排序。
array_pad()
将指定数量的带有指定值的元素插入到数组中。
array_pop()
删除数组中的最后一个元素(出栈)。
array_product()
计算数组中所有值的乘积。
array_push()
将一个或多个元素插入数组的末尾(入栈)。
array_rand()
从数组中随机选出一个或多个元素,返回键名。
array_reduce()
通过使用用户自定义函数,迭代地将数组简化为一个字符串,并返回。
array_replace()
将所有被替换数组中的元素替换成第一个数组。
array_replace_recursive()
将所有被替换数组中的元素递归地替换成第一个数组。
array_reverse()
将原数组中的元素顺序翻转,创建新的数组并返回。
array_search()
在数组中搜索给定的值,如果成功则返回相应的键名。
array_shift()
删除数组中的第一个元素,并返回被删除元素的值。
array_slice()
返回数组中的选定部分。
array_splice()
把数组中的指定元素去掉并用其它值取代。
array_sum()
返回数组中所有值的和。
array_udiff()
比较数组,返回两个数组的差集(只比较键值,使用一个用户自定义的键名比较函数)。
array_udiff_assoc()
比较数组,返回两个数组的差集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。
array_udiff_uassoc()
比较数组,返回两个数组的差集(比较键名和键值,使用两个用户自定义的键名比较函数)。
array_uintersect()
比较数组,返回两个数组的交集(只比较键值,使用一个用户自定义的键名比较函数)。
array_uintersect_assoc()
比较数组,返回两个数组的交集(比较键名和键值,使用内建函数比较键名,使用用户自定义函数比较键值)。
array_uintersect_uassoc()
比较数组,返回两个数组的交集(比较键名和键值,使用两个用户自定义的键名比较函数)。
array_unique()
删除数组中重复的值。
array_unshift()
在数组开头插入一个或多个元素。
array_values()
返回数组中所有的值。
array_walk()
对数组中的每个成员应用用户函数。
array_walk_recursive()
对数组中的每个成员递归地应用用户函数。
arsort()
对关联数组按照键值进行降序排序。
asort()
对关联数组按照键值进行升序排序。
compact()
创建一个包含变量名和它们的值的数组。
count()
返回数组中元素的数目。
current()
返回数组中的当前元素。
each()
返回数组中当前的键/值对。
end()
将数组的内部指针指向最后一个元素。
extract()
从数组中将变量导入到当前的符号表。
in_array()
检查数组中是否存在指定的值。
key()
从关联数组中取得键名。
krsort()
对关联数组按照键名降序排序。
ksort()
对关联数组按照键名升序排序。
list()
把数组中的值赋给一些数组变量。
natcasesort()
用"自然排序"算法对数组进行不区分大小写字母的排序。
natsort()
用"自然排序"算法对数组排序。
next()
将数组中的内部指针向前移动一位。
pos()
current() 的别名。
prev()
将数组的内部指针倒回一位。
range()
创建一个包含指定范围的元素的数组。
reset()
将数组的内部指针指向第一个元素。
rsort()
对数值数组进行降序排序。
shuffle()
把数组中的元素按随机顺序重新排列。
sizeof()
count() 的别名。
sort()
对数值数组进行升序排序。
uasort()
使用用户自定义的比较函数对数组中的键值进行排序。
uksort()
使用用户自定义的比较函数对数组中的键名进行排序。
usort()
使用用户自定义的比较函数对数组进行排序。

PHP多维数组的魅力的更多相关文章

  1. PHP之提取多维数组指定列的方法

    前言:有时候在开发中会遇到这样的问题,我们需要把有规律的多维数组按照纵向(列)取出,有下面的方法可用: 我们将拿下面的数组来处理: $arr = array( '0' => array('id' ...

  2. 地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了

    地图四叉树一般用在GIS中,在游戏寻路中2D游戏中一般用2维数组就够了 四叉树对于区域查询,效率比较高. 原理图

  3. 矩阵或多维数组两种常用实现方法 - python

    在python中,实现多维数组或矩阵,有两种常用方法: 内置列表方法和numpy 科学计算包方法. 下面以创建10*10矩阵或多维数组为例,并初始化为0,程序如下: # Method 1: list ...

  4. PHP 二维数组根据某个字段排序

    二维数组根据某个字段排序有两种办法,一种是通过sort自己写代码,一种是直接用array_multisort排序函数 一. 手写arraysort PHP的一维数组排序函数: sort  对数组的值按 ...

  5. 剑指Offer-【面试题03:二维数组中的查找】

    package com.cxz.question3; /* * 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. * 请完成一个函数,输入这样的一个二维数组和 ...

  6. PHP开发笔记:二维数组根据某一项来进行排序

    比如说我们现在有一个二维数组: $arr = array( ‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7), ‘b' => ...

  7. 剑指Offer面试题:2.二维数组中的查找

    一.题目:二维数组中的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  8. PHP多维数组根据其中一个字段的值排序

    平时简单的一维数组或者简单的数组排序这里就不多作介绍,这里主要是针对平时做项目中的可能遇到的情况,根据多维数组中的其中一个排序.用到的php函数是:array_multisort. 思路:获取其中你需 ...

  9. PHP 根据key 给二维数组分组

    我们经常拿到一个二维数组出来,会发现结果和自己想要的有些偏差,可能需要根据二维数组里的某个字段对数组分组.先来看以下数组, Array ( [0] => Array ( [id] => 1 ...

随机推荐

  1. PYTHON---FILE IO

    import pickle shoplistfile = 'shoplist.data' shoplist = ['apple', 'mango', 'carrot'] f = open(shopli ...

  2. poj crane

    #include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> #de ...

  3. 【Xamarin挖墙脚系列:Xamarin开发环境配置需求】

    原文:[Xamarin挖墙脚系列:Xamarin开发环境配置需求] 前言 因为操作的全是大块头,加大你们的内存,CPU网上飙.... 卤煮的机器配置  最近的版本部署包,百度云离线下载:版本:Xama ...

  4. Spring 通过工厂方法(Factory Method)来配置bean

    Spring 通过工厂方法(Factory Method)来配置bean 在Spring的世界中, 我们通常会利用bean config file 或者 annotation注解方式来配置bean. ...

  5. INFORMATION_SCHEMA.INNODB_LOCKS

    INNODB_LOCKS Table: INNODB_LOCKS 表 包含信息关于每个锁 一个InnoDB 事务已经请求 但是没有获得锁, 每个lock 一个事务持有是堵塞另外一个事务 centos6 ...

  6. 使用SQL Server 2014内存数据库时需要注意的地方

    作者 王枫发布于2014年7月4日 本文从产品设计和架构角度分享了Microsoft内存数据库方面的使用经验,希望你在阅读本文之后能够了解这些新的对象.概念,从而更好地设计你的架构. 内存数据库,指的 ...

  7. 基础算法(二分,贪心):NOIP 2012 疫情控制

    题目大意 给出一棵n个节点的树,根是1,要在除根节点以外的点建立检查点,使得从每条根到叶子的路径上都至少存在一个检查点.检查点由军队来建立.初始军队的位置是给定的,移动军队走一条边需要花费这条边的权值 ...

  8. 哈希(1) hash的基本知识回顾

    好久没看数据结构了,现在也打不起精神来,翻了一下书,严蔚敏那本书.,以下是书的第9章,发现自己很多时候对知识的认识无法结构化和系统化,都是零散的,模糊的混乱的记忆,以后要有体系, 第9章 查找     ...

  9. JNI 从C文件向Java文件传递多个参数

    JNI C主函数 #include <jni.h> #include <string.h> #include <android/log.h> #include &q ...

  10. ubuntu 手动添加jar到本地仓库

    前言:maven仓库的下载速度太慢了,而且有些jar不存在,或者加入自己开发的依赖包,还是要学会自己手动加入jar.下面以 javax.servlet-api为例. 1.获取下载的javax.serv ...