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 . '
';

}

while ($element = each($prices)) {

echo $element['key'];

echo ' - ';

echo $element['value'];

echo '
';

}

while (list($product, $price) = each($prices)) {

$echo "$product - $price
";

}

其实在数组中一个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
";

}

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

php的数组操作,PHP的数组操作相关推荐

  1. LeetCode简单题之最小操作次数使数组元素相等

    题目 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 .返回让数组所有元素相等的最小操作次数. 示例 1: 输入:nums = [1,2,3] 输出:3 解释: 只需要3次 ...

  2. 一道题,最小操作次数使数组元素相等引发的思考

    前言 最近在打卡力扣刷题,一道简单题但是感觉挺好的. 力扣453:最小操作数使数组相等. 题目描述为: 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 .返回让数组所有元素 ...

  3. java 数组参数_java中 数组可以作为形式参数传递到调用的方法中吗?要怎么操作?...

    展开全部 可以,操作代码如下: public class ArrTest{ public static void doTest(String[] args){ for(int i=0;i System ...

  4. jquery 操作字符串、数组、对象常用方法

    http://jquery.cuishifeng.cn/ 1.$.trim(str)  去掉字符串首尾空格.(jQuery.trim()) 在jquery中,遍历对象和数组,经常会用到$().each ...

  5. B10_NumPy数组操作、修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除

    NumPy数组操作 Numpy 中包含了一些函数用于处理数组,大概可分为以下几类: 修改数组形状 翻转数组 修改数组维度 连接数组 分割数组 数组元素的添加与删除 修改数组形状 函数 描述 resha ...

  6. java web定义数组_Java基础之数组--数组常用操作

    3.2一维数组 3.2.1声明数组 数组类型[] 数组名称:int[] username; 或者 数组类型 数组名称[];int username[]; 3.2.2初始化一维数组 一维数组初始化有两种 ...

  7. Scala数组的基本操作,数组进阶操作,多维数组

    1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...

  8. 链表!比数组更适合做增删操作的数据结构

    什么是链表? 链表和数组的对比:在大多数语言中,数组的大小是固定的,从数组的起点或中间添加或删除元素的成本很高,因为需要移动元素. 链表中的每一个元素在内存中不是连续放置的,和它左右两侧元素是没有关系 ...

  9. leetcode453. 最小操作次数使数组元素相等(贼难的简单题)

    给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1.找出让数组所有元素相等的最小操作次数. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次操作(注意每次 ...

  10. 通过数组和枚举简化GPIO操作编码

     在工作中,经常遇到大量使用GPIO作为数字量输入输出来控制设备或采集状态,每次定义操作不同的GPIO针脚既麻烦又容易出错,于是就想要简化操作过程.对于数字量输入来说就是采集对应针脚的状态:而输出 ...

最新文章

  1. [unreal4入门系列之十二] 在UE4中创建非玩家角色(NPC)
  2. python魔法方法好难_一篇干货好文,轻松掌握python魔法方法
  3. .NET MVC访问某方法后会跳转页面
  4. 工业互联网解决方案创新应用报告(2020)
  5. Auto Control 001 自动控制的一般概念
  6. Vivado设计流程(一)新建工程
  7. sympy 求微分方程_Sympy笔记一
  8. 百度知心搜索–基于深度数据瓦解和用户行为分析的搜索引擎
  9. 计算机开机慢的原因及解决方法,电脑启动慢什么原因?如何解决
  10. jquery解绑、绑定笔记
  11. 为什么小样本不建议用深度学习?
  12. 九连环的解法(收集)
  13. 华为-交换机堆叠配置
  14. 2022.05.20-电脑切换全屏与非全屏(特别是谷歌浏览器)的时候会发生卡顿黑屏
  15. can-utils使用
  16. Writing an LLVM Pass
  17. MySQL官方示例数据库的使用
  18. 机器人学习笔记(一)
  19. BP 神经网络的数据分类
  20. CSS制作鼠标移上去,三角形(箭头)旋转

热门文章

  1. 利用swoole coroutine协程实现redis异步操作
  2. OO第一单元总结——多项式求导
  3. [Swift]LeetCode289. 生命游戏 | Game of Life
  4. 1.窗体与界面设计-菜单应用实例
  5. 基于jQuery的nyroModal模态对话框插件的使用,及IFrame方式窗口的关闭问题
  6. linux之dos2unix命令
  7. Linux之lastb命令
  8. 20165306 Exp9 Web安全基础
  9. Nginx从入门到掌握【(第3节(共3节)】
  10. Kafka——使用spring进行集成