文档章节

PHP的数组操作

临峰不畏
 临峰不畏
发布于 2014/11/19 22:02
字数 629
阅读 151
收藏 8

1. 初始化

1.1 array()枚举成员

$products = array('Tires', 'Oil', 'Spark Plugs');
$prices = array('Tires' => 12, 'Oil' => 7.5, 'Spark Plugs' => 32);

1.2 range()生成

     range(start, end, step = 1)

$odds = range(1, 10, 2);
$letters = range('a', 'z');

2. 访问元素

echo $products[2];
$products[8] = 'Yes';

    数组的Key不必是连续的。它更像是个 Key --> Value 的映射表。

3. 循环访问

    可以用 foreach 与 list() 和  each() 结构。

foreach ($prices as $key => $value) {
    echo $key . ' - ' . $value . '<br/>'; 
}

while ($element = each($prices)) {
    echo $element['key'];
    echo ' - ';
    echo $element['value'];
    echo '<br/>';
}

while (list($product, $price) = each($prices)) {
    $echo "$product - $price<br/>";
}

    其实在数组中一个pos迭代器,初始为第一个元素。
    每次each($prices) 时都会返回当前pos所指向的数组元素,并将pos指向下一个元素位置。
    如果已经访问到最后一个元素了,那么 each($prices) 返回空值,于是while() 循环退出。
    在每次开始循环前应使用 reset($prices), 将数组中的pos置为第一个元素的位置。

4. PHP数组支持嵌套数组实现多维数组

$products = array (
    array('TIR', 'Tires', 100),
    array('OIL', 'Oil', 10),
    array('SPK', 'Spark Plugs', 4)
);

5. 数组排序

5.1 sort()函数

    sort(array, method=SORT_REGULAR)

    array为需要排序的数组,method为排序方法,默认为SORT_REGULAR,还可以是SORT_NUMERIC与SORT_STRING,表示是按数值排序还是字符串大小进行排序。
    sort() 函数会影响转入的数组。

5.2 asort()与ksort()函数

    asort()是按数组值进行排序,ksort()是按数组Key进行排序。

5.3 反向排序

     以此对应的反向排序有 rsort(), arsort(), krsort()

5.4 自定义排序 usort()

    usort(数组, 比较函数)

6. 数组其它操作

6.1 each(), current(), reset(), end(), next(), pos(), prev()

    each()与next()功能相似,each()是返回pos相前元素,然后将pos移向下一个元素。而next()则是先移到下一个元素移置,再返回pos所指的元素。
    current()则返回当前pos所指的元素。
    reset()将pos重置到第一个元素,而end()则是将pos指向最后一个元素。
    prev()可以与end()配合使用,就像next()与reset()那样。

6.2 数组遍历 array_walk()

    bool array_walk(array arr, string func, [mixed userdata])

function my_print($value) {
    echo "$value<br/>";
}
array_walk($array, 'my_print');

    ??为什么回调函数传的是字符串??

6.3 统计元素

    count(), sizeof(), array_count_values()

    count(), sizeof() 都是返回数组元素个数
    array_count_values() 是统一数组成元素的重复次数,并生成以元素为key,重复次数为value的新数组。

6.4 将数组转换成变量

    extract(array var_array [, int extract_type] [, string prefix]);

$arr = array('VAR1' => 12, 'Name' = "Hevake");
extract($arry);
echo "$VAR1, $Name";


© 著作权归作者所有

共有 人打赏支持
临峰不畏
粉丝 213
博文 187
码字总数 98583
作品 0
深圳
架构师
zephir-(7)数组

先在这里感谢各位zephir开源技术提供者 在java和c++中几乎所有的操作都是正对于类开展的,但是在php中你们常用的处理类型是什么,当然是数组,在Zephir中提供了一种使用PHP数组的方法,那么今天就...

喵了_个咪
2016/03/08
64
0
PHP实现Collection数据集类及其原理

PHP 语言最重要的特性之一便是数组了(特别是关联数组)。 PHP 为此也提供不少的函数和类接口方便于数组操作,但没有一个集大成的类专门用来操作数组。 如果数组操作不多的话,个别函数用起来...

技术小胖子
2017/11/08
0
0
php对二维数组进行相关操作(排序、转换、去空白等)

php对二维数组进行相关操作(排序、转换、去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04 这篇文章主要介绍了php对二维数组进行相关操作,包括php对二维数组排序、...

thinkyoung
2015/11/09
0
0
意识流php入门基础学习笔记

addAdmin(添加管理员) 流程: addAdmin.php(视图界面)[传递act的值] ---> doAdminAction.php(总处理) 通过include.php包含了所有函数--->根据传过来的act在admin.inc.php中找到合适的函数 --...

fareise
2015/08/29
108
0
php数组循环输出实现方法【实例代码有误!!】

以前我们经常会想怎么来实现php数组循环输出来,本文章来介绍了利用php中常用的四种循环语句来实现单数组或多维数组循环输出方法. 在 PHP 中,我们可以使用下列循环语句: while 只要指定的条件...

adbug
2016/04/11
47
0

没有更多内容

加载失败,请刷新页面

加载更多

day122-20181020-英语流利阅读-待学习

蜘蛛侠新片《毒液》来袭!导演灵感来自哪? Roxy 2018-10-20 1.今日导读 你还记得漫威宇宙中飞檐走壁的蜘蛛侠小可爱吗?在刚过去的国庆黄金周里,索尼影业发行的漫威超级英雄蜘蛛侠系列大片《...

飞鱼说编程
17分钟前
1
0
美团点评Docker容器管理平台

美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”)。该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台。目前该平台为...

Skqing
24分钟前
1
0
JDK8笔记

判断两个对象是否相等 Objects.equals(value1, value2)

呼呼南风
今天
1
0
OSChina 周六乱弹 —— 到底谁是小公猫……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Trivium的单曲《Throes Of Perdition》 《Throes Of Perdition》- Trivium 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁:...

小小编辑
今天
354
5
基础选择器

注意:本教程参考自网上流传的李兴华老师的jquery开发框架视频,但是苦于没有相应的配套笔记,由我本人做了相应的整理. 本次学习的内容 学习jquery提供的各种选择器的使用,掌握了jquery选择...

江戸川
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部