本文主要内容来自w3cschool

在 PHP 中,有三种数组类型:

  索引数组 - 带有数字索引的数组

  关联数组 - 带有指定键的数组

  多维数组 - 包含一个或多个数组的数组

PHP 索引数组

有两种创建索引数组的方法:

索引是自动分配的(索引从 0 开始):

$cars=array("Volvo","BMW","SAAB");

或者也可以手动分配索引:

$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";

下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:

实例

<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

获得数组的长度 - count() 函数

<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>

遍历索引数组

<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars); for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?>

PHP 关联数组(可以理解为js里面的对象数组)

关联数组是使用您分配给数组的指定键的数组。

有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者:

$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

随后可以在脚本中使用指定键:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>

遍历关联数组

如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP - 数组的排序函数

在本节中,我们将学习如下 PHP 数组排序函数:

sort() - 以升序对数组排序

rsort() - 以降序对数组排序

asort() - 根据值,以升序对关联数组进行排序

ksort() - 根据键,以升序对关联数组进行排序

arsort() - 根据值,以降序对关联数组进行排序

krsort() - 根据键,以降序对关联数组进行排序

对数组进行升序排序 - sort()

下面的例子按照字母升序对数组 $cars 中的元素进行排序:

<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>

下面的例子按照数字升序对数组 $numbers 中的元素进行排序:

<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
?>

对数组进行降序排序 - rsort()

下面的例子按照字母降序对数组 $cars 中的元素进行排序:

<?php
$cars=array("Volvo","BMW","SAAB");
rsort($cars);
?>

下面的例子按照数字降序对数组 $numbers 中的元素进行排序:

<?php
$numbers=array(3,5,1,22,11);
rsort($numbers);
?>

根据值对数组进行升序排序 - asort()

下面的例子根据值对关联数组进行升序排序:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
?>

根据键对数组进行升序排序 - ksort()

下面的例子根据键对关联数组进行升序排序:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
?>

根据值对数组进行降序排序 - arsort()

下面的例子根据值对关联数组进行降序排序:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
arsort($age);
?>

根据键对数组进行降序排序 - krsort()

下面的例子根据键对关联数组进行降序排序:

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
krsort($age);
?> 

php基础(二)数组的更多相关文章

  1. JavaScript 基础(二)数组

    字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...

  2. Swift语法基础入门二(数组, 字典, 字符串)

    Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

  3. 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

    http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...

  4. [.net 面向对象编程基础] (17) 数组与集合

    [.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...

  5. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  6. 利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  7. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  8. C#_02.12_基础二_.NET类型存储和变量

    C#_02.12_基础二_.NET类型存储和变量 一.核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了) 二.数据类型: 1.预定义了16种数据类型: 其中13种简单数据类 ...

  9. Go语言基础之数组

    Go语言基础之数组 本文主要介绍数组(array)及它的基本使用. Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化 ...

  10. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

随机推荐

  1. Ueditor文件上传问题

    我们在做一些网站是会遇到,要有上传文件一类的事情. 我发现百度的富文本编辑器带上传功能,但是没有办法给后台传递我们要的参数. 先在ueditor.all.js中找到, me.execCommand(' ...

  2. 安卓---android:versionCode和android:versionName 用途

    主要用于升级和自我识别,转自:http://blog.csdn.net/wh_19910525/article/details/8660416 Android的版本可以在androidmainfest ...

  3. svn 目录设置为 不提交 忽略

    svn 忽略  以下文件 和目录 (不提交) runningtime --选中 tortoiseSVN --unversion and add to ignore list web workspace ...

  4. jQuery DOM 元素方法 - index() 方法

    元素的 index,相对于选择器 获得元素相对于选择器的 index 位置. 该元素可以通过 DOM 元素或 jQuery 选择器来指定. 语法 $(selector).index(element) ...

  5. aforge通过角点匹配图片相似度

    我不知道什么原因,人品不好还是啥的 ExhaustiveTemplateMatching这个类无法高精确度的匹配图片 ........... 换一种方式,就好得多 /// <summary> ...

  6. (转载)html中div使用自动高度

    为什么要使用div标签 1.更多的配置项,那就意味着更灵活,当然,难度也更高: 2.可以方便的容纳其他html标签:     static定位就是不定位,出现在哪里就显示在哪里,这是默认取值,只有在你 ...

  7. [SQL基础教程] 3-2 对表进行分组

    [SQL基础教程] 3-2 对表进行分组 GROUP BY SELECT <列名1>,<列名2>,... FROM <表名> GROUP BY <列名1> ...

  8. 《Intel汇编第5版》 汇编逆转字符串

    一.逆转字符串 逆转一个字符串可以利用栈这个数据结果,顺次读取所有元素压栈,再出栈所有元素即可逆序 二.push和pop指令 三.pushfd和popfd 四.pushad和popad 五.代码以及结 ...

  9. Objective-C Runtime 运行时之一:类与对象(转载)

    Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...

  10. CVE-2015-0057 POC构造 & 利用分析(2015.7)

    CVE-2015-0057 POC构造 & 利用分析 主要内容: 构造POC 利用思路 0x00 初探 从这篇文章可以获知: 1.问题出在 win32k!xxxEnableWndSBArrow ...