PHP的数组操作

简介:

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


目录
相关文章
|
12天前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
33 4
|
6天前
|
存储 缓存 搜索推荐
优化PHP数组性能
优化PHP数组性能
21 8
|
6天前
|
算法 搜索推荐 Java
05 一文解决PHP数组操作
路老师带你深入PHP世界,从数组的基础知识讲起,包括数组的创建、赋值、类型(数字索引数组与关联数组)、多维数组,以及常用数组函数如遍历、统计、查询、添加、删除重复元素和排序等。实例讲解,轻松上手。下期预告:PHP面向对象。
10 2
|
2月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
2月前
|
存储 PHP
PHP编程中的数组操作技巧
【9月更文挑战第28天】在PHP编程中,数组是一种基础且强大的数据结构,它可以存储多个值,并且允许我们使用键来访问这些值。本文将介绍一些实用的PHP数组操作技巧,包括创建数组、遍历数组、排序数组和合并数组等。通过掌握这些技巧,你将能够更高效地处理数据和解决实际问题。
|
2月前
|
存储 数据处理 PHP
深入理解PHP中的数组
【9月更文挑战第3天】在PHP编程中,数组扮演着不可或缺的角色。它们不仅提供了一种灵活的方式来存储和操作数据,还极大地丰富了开发者处理复杂信息结构的能力。本文将带你深入了解PHP数组的基础知识、高级特性以及如何高效地利用数组来简化代码逻辑,提升开发效率。
|
3月前
|
安全 PHP 开发者
PHP中的数组操作技巧
【8月更文挑战第29天】在PHP编程中,数组是一个基本且强大的数据结构。本文将通过浅显易懂的语言和生动的比喻,带你深入理解PHP数组的操作技巧。我们将一起探讨如何高效地使用数组函数,以及如何通过这些技巧来优化你的代码。无论你是PHP初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息。让我们一起探索数组的世界,发现它的无限可能!
|
3月前
|
数据处理 PHP 开发者
PHP中的数组操作技巧:提高代码效率与可读性
【8月更文挑战第27天】在PHP开发中,数组是数据处理的核心。掌握数组的操作不仅能提升代码的执行效率,还能增强代码的可读性。本文将通过实际的编码示例,展示如何在PHP中高效地使用数组,包括数组的创建、遍历、排序、查找和过滤等常用操作,以及一些高级技巧,如使用匿名函数和数组的解构赋值。无论你是新手还是有经验的开发者,这些技巧都将对你的PHP编程之旅大有裨益。
|
3月前
|
设计模式 算法 PHP
深入理解PHP中的数组操作探索编程之美:从代码到架构的思维转变
【8月更文挑战第24天】在PHP编程中,数组是基础且强大的数据结构。本文将通过浅显易懂的方式,介绍如何在PHP中高效地操作数组,包括创建、遍历、排序和过滤等常见任务。无论你是初学者还是有经验的开发者,这篇文章都会带给你新的启示。 【8月更文挑战第24天】在编程的世界中,代码不仅仅是冰冷的字符排列,它承载着思想、解决问题的智慧和创新的灵魂。本文将通过个人的技术感悟,带领读者从编写单一功能的代码片段出发,逐步深入到整个软件架构的设计哲学,探索如何将代码块转化为高效、可维护和可扩展的系统。我们将一起见证,当代码与架构思维相结合时,如何引发技术实践的革命性飞跃。
|
3月前
|
存储 PHP 数据库
深入理解PHP中的数组操作
【8月更文挑战第24天】在编程世界中,数组是数据结构的基石之一。PHP作为广受欢迎的后端开发语言,其对数组的强大支持和灵活操作让开发者能够高效地处理数据集合。本文将深入浅出地探讨PHP中数组的基本概念、常用函数以及高级技巧,帮助读者提升在PHP项目中处理数组的能力。